Fläche aus 4 Berandungskurven funzt in Freecad
-
- Veteran
- Posts: 7788
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Fläche aus 4 Berandungskurven funzt in Freecad
Hallo zusammen,
ich vermisse Freiformflächen in Freecad. Nun habe ich herausgefunden, dass man zumindest in Part, Formteil, Form-Generator, Oberflächen aus Kanten, aus 4 Berandungskurven eine Fläche bilden kann, siehe: Leider nicht parametrisch. D.h. wenn ich die Skizzen ändere, ändert sich die Fläche nicht mit.
Mit 3 Kurven geht es auch: Viele Grüße
Wilfried
ich vermisse Freiformflächen in Freecad. Nun habe ich herausgefunden, dass man zumindest in Part, Formteil, Form-Generator, Oberflächen aus Kanten, aus 4 Berandungskurven eine Fläche bilden kann, siehe: Leider nicht parametrisch. D.h. wenn ich die Skizzen ändere, ändert sich die Fläche nicht mit.
Mit 3 Kurven geht es auch: Viele Grüße
Wilfried
-
- Veteran
- Posts: 7788
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: Fläche aus 4 Berandungskurven funzt in Freecad
Man benötigt geschlossene Kurven, dann klappt es sogar mit 5 Kurven und wahrscheinlich noch mit mehr:
Die Regelfläche aus 2 Kurven ist vollparametrisch, Warum fehlt hier die Parametrik?-
- Veteran
- Posts: 7788
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: Fläche aus 4 Berandungskurven funzt in Freecad
Mit drei Bsplines:
Ob Freecad 0.18 das irgendwann kann?
Wenn jetzt noch die Stützpunkte der Bsplines nachträglich änderbar wären und damit die Bsplines und die entstandene Fläche auch noch vollparametrisch mitwandert ...Ob Freecad 0.18 das irgendwann kann?
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Fläche aus 4 Berandungskurven funzt in Freecad
Welche Geometrie haben die erzeugten Freiformflächen, was meinst Du?freecad-heini-1 wrote:Hallo zusammen,
ich vermisse Freiformflächen in Freecad. Nun habe ich herausgefunden, dass man zumindest in Part, Formteil, Form-Generator, Oberflächen aus Kanten ... bilden kann
mfGn holdi
-
- Veteran
- Posts: 7788
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: Fläche aus 4 Berandungskurven funzt in Freecad
Denkst Du "hübsch" ist passend? Dreieckig ballig hübsch, viereckig kurvig, fünfeckig bspline ...holdi wrote: Welche Geometrie haben die erzeugten Freiformflächen, was meinst Du?
Wie ist Deine Meinung?
-
- Veteran
- Posts: 7788
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: Fläche aus 4 Berandungskurven funzt in Freecad
Wenn man richtig gute Flächen erzeugen möchte empfiehlt es sich die Tesselierung schon vor dem Zeichnen der Bsplines hochzusetzen. Im nächsten Beispiel habe ich die Tessellierung auf 0,001% eingestellt. Das Berechnen der Fläche dauert dementsprechend lang, aber es lohnt, siehe:
Freecad-Modell:
Das ist allererste Sahne! - microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Fläche aus 4 Berandungskurven funzt in Freecad
Nach meinen Erfahrungen sind die erzeugten Flächen immer BSpline Surfaces und die sind mit ihren Parametern immer genau, es ist nur die Darstellung im 3D Fenster, die manchmal wacklig aussieht.
Wenn man STEP exportiert, stehen da genau die Nurbs Daten drin, die dann jederzeit wieder beliebig genau durch Meshes angenähert werden können.
Ein BSpline ist immer genau - das ist das gleiche wie bei einer Vektorgrafik. Erst das Rendern und die Fertigung bringen die Unschönheiten.
Was die Hüglichkeit ausmacht, gilt die Regel, dass unser Auge nur bis zum Grad 3 wahrnehmen kann. Für schöne Flächen reicht also Grad 3 aus, wer optische Geräte baut, die über das menschliche Auge hinaus gehen (CIA, KGB, BND ...) , braucht mehr und wird wahrscheinlich nicht mit FreeCAD arbeiten.
Übrigens gibt es das Zebra Tool, da kann man sich die Krümmung auch schön anzeigen lassen
Wenn man STEP exportiert, stehen da genau die Nurbs Daten drin, die dann jederzeit wieder beliebig genau durch Meshes angenähert werden können.
Ein BSpline ist immer genau - das ist das gleiche wie bei einer Vektorgrafik. Erst das Rendern und die Fertigung bringen die Unschönheiten.
Was die Hüglichkeit ausmacht, gilt die Regel, dass unser Auge nur bis zum Grad 3 wahrnehmen kann. Für schöne Flächen reicht also Grad 3 aus, wer optische Geräte baut, die über das menschliche Auge hinaus gehen (CIA, KGB, BND ...) , braucht mehr und wird wahrscheinlich nicht mit FreeCAD arbeiten.
Übrigens gibt es das Zebra Tool, da kann man sich die Krümmung auch schön anzeigen lassen
-
- Veteran
- Posts: 7788
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: Fläche aus 4 Berandungskurven funzt in Freecad
Wo finde ich das Zebra Tool?microelly2 wrote:Übrigens gibt es das Zebra Tool, da kann man sich die Krümmung auch schön anzeigen lassen.
- microelly2
- Veteran
- Posts: 4688
- Joined: Tue Nov 12, 2013 4:06 pm
- Contact:
Re: Fläche aus 4 Berandungskurven funzt in Freecad
Das Zebra Tool hab ich in die Nurbs WB integriert Im Bild Symbol zwischen Open Spreadsheet und Draft Bspline Editor,
Ich habe hier auch mal die Poles von deinem Beispiel sichtbar gemacht. Da sieht man sehr schön, wie der Loft aus den drei BSplines die Fläche zusammensetzt.
Die Fläche hat Grad 3 x 2
Die Draft-Bsplines haben immer Grad 3
und der GRad 2 ergibt sich, weil, ja nur drei Bspline Kurven da sind, da kommt man mit Grad 2 aus.
Bei zwei Bsplines hat man Grad 1 - Regelfläche.
Das kann man bei deinem Loft auch erzwingen Ruled auf True setzen, dann ist die Fläche nicht mehr tangentialstetig an der inneren Kurve.
und die Fläche besteht aus zwei Nurbs:
Ich habe hier auch mal die Poles von deinem Beispiel sichtbar gemacht. Da sieht man sehr schön, wie der Loft aus den drei BSplines die Fläche zusammensetzt.
Die Fläche hat Grad 3 x 2
Die Draft-Bsplines haben immer Grad 3
und der GRad 2 ergibt sich, weil, ja nur drei Bspline Kurven da sind, da kommt man mit Grad 2 aus.
Bei zwei Bsplines hat man Grad 1 - Regelfläche.
Das kann man bei deinem Loft auch erzwingen Ruled auf True setzen, dann ist die Fläche nicht mehr tangentialstetig an der inneren Kurve.
und die Fläche besteht aus zwei Nurbs:
Code: Select all
l=App.ActiveDocument.Loft.Shape.Face1
bs=l.Surface
sh=bs.toShape()
sp=App.ActiveDocument.addObject("Part::Spline","loft-nurbs")
sp.Shape=sh
sp.ViewObject.ControlPoints=True
bs.UDegree
bs.VDegree
for b in [App.ActiveDocument.BSpline.Shape.Edge1,
App.ActiveDocument.BSpline001.Shape.Edge1,App.ActiveDocument.BSpline002.Shape.Edge1]:
bc=b.Curve
sh=bc.toShape()
sp=App.ActiveDocument.addObject("Part::Spline","bspline-nurbs")
sp.Shape=sh
sp.ViewObject.ControlPoints=True
bc.Degree