Fläche aus 4 Berandungskurven funzt in Freecad

In diesem Forum Fragen und Diskussionen in Deutsch
Forum rules
Foren-Regeln und hilfreiche Informationen

WICHTIG: Bitte zuerst lesen, bevor Sie posten
freecad-heini-1
Veteran
Posts: 7788
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Fläche aus 4 Berandungskurven funzt in Freecad

Post by freecad-heini-1 »

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:
flaeche-aus-4-kurven-v1.gif
flaeche-aus-4-kurven-v1.gif (443.2 KiB) Viewed 3298 times
Leider nicht parametrisch. D.h. wenn ich die Skizzen ändere, ändert sich die Fläche nicht mit.

Mit 3 Kurven geht es auch:
flaeche-aus-3-kurven.gif
flaeche-aus-3-kurven.gif (586.99 KiB) Viewed 3295 times
Viele Grüße
Wilfried
freecad-heini-1
Veteran
Posts: 7788
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Fläche aus 4 Berandungskurven funzt in Freecad

Post by freecad-heini-1 »

Man benötigt geschlossene Kurven, dann klappt es sogar mit 5 Kurven und wahrscheinlich noch mit mehr:
flaeche-aus-5-kurven.gif
flaeche-aus-5-kurven.gif (862.34 KiB) Viewed 3292 times
Die Regelfläche aus 2 Kurven ist vollparametrisch, Warum fehlt hier die Parametrik?
freecad-heini-1
Veteran
Posts: 7788
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Fläche aus 4 Berandungskurven funzt in Freecad

Post by freecad-heini-1 »

Mit drei Bsplines:
flaeche-aus-3-bsplines.gif
flaeche-aus-3-bsplines.gif (772.58 KiB) Viewed 3285 times
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?
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Fläche aus 4 Berandungskurven funzt in Freecad

Post by microelly2 »

Das wird bald gehen
ich hab das Datenmodell und überlege grade die GUI
https://youtu.be/wul_QMwTPZ8
holdi
Posts: 350
Joined: Mon Dec 05, 2016 3:00 pm

Re: Fläche aus 4 Berandungskurven funzt in Freecad

Post by holdi »

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
Welche Geometrie haben die erzeugten Freiformflächen, was meinst Du?

mfGn holdi
freecad-heini-1
Veteran
Posts: 7788
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Fläche aus 4 Berandungskurven funzt in Freecad

Post by freecad-heini-1 »

holdi wrote: Welche Geometrie haben die erzeugten Freiformflächen, was meinst Du?
Denkst Du "hübsch" ist passend? Dreieckig ballig hübsch, viereckig kurvig, fünfeckig bspline ...
Wie ist Deine Meinung?
freecad-heini-1
Veteran
Posts: 7788
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Fläche aus 4 Berandungskurven funzt in Freecad

Post by freecad-heini-1 »

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:
flaechenqualitaet.gif
flaechenqualitaet.gif (782.99 KiB) Viewed 3252 times
Freecad-Modell:
flaeche-dreieck-mittelkurve.fcstd
(13.1 KiB) Downloaded 55 times
Das ist allererste Sahne! :D
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Fläche aus 4 Berandungskurven funzt in Freecad

Post by microelly2 »

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. :lol:

Übrigens gibt es das Zebra Tool, da kann man sich die Krümmung auch schön anzeigen lassen
bp_331.png
bp_331.png (103.96 KiB) Viewed 3245 times
freecad-heini-1
Veteran
Posts: 7788
Joined: Tue Jan 07, 2014 11:10 am
Contact:

Re: Fläche aus 4 Berandungskurven funzt in Freecad

Post by freecad-heini-1 »

microelly2 wrote:Übrigens gibt es das Zebra Tool, da kann man sich die Krümmung auch schön anzeigen lassen.
Wo finde ich das Zebra Tool?
User avatar
microelly2
Veteran
Posts: 4688
Joined: Tue Nov 12, 2013 4:06 pm
Contact:

Re: Fläche aus 4 Berandungskurven funzt in Freecad

Post by microelly2 »

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.
bp_333.png
bp_333.png (47.67 KiB) Viewed 3230 times
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:
bp_334.png
bp_334.png (11.89 KiB) Viewed 3230 times

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
Post Reply