b-Spline
b-Spline
Hallo zusammen.
Ich habe die Version .18 und bin blutiger Anfänger. Was mich aber nicht daran hindert schon forgeschrittene Fragen zu haben die da wäre:
wie kann ich in FreeCAD eine B-Spline generieren, wenn ich nur Punkte kenne die auch auf dieser Spline liegen sollen.
Ich schaffe es immer nur soweit, dass ich Punkte festlege und FreeCAD diese Punkte dann als Kontrollpunkte benutzt und die Spline dann ganz anderswo liegt.
Vor langer langer Zeit, lange noch vor 3D hab ich mal mit AutoCAD gearbeitet, da war das problemfrei möglich: man konnte Punkte festlegen, sie einfangen und die Spline generierte sich da entlang. Beim FreeCAD hab ich mehr das Gefühl, dass sie sich drumherum generiert.
Wäre super, wenn mir da einer weiterhelfen könnte.
Danke im voraus schonmal.
Ich habe die Version .18 und bin blutiger Anfänger. Was mich aber nicht daran hindert schon forgeschrittene Fragen zu haben die da wäre:
wie kann ich in FreeCAD eine B-Spline generieren, wenn ich nur Punkte kenne die auch auf dieser Spline liegen sollen.
Ich schaffe es immer nur soweit, dass ich Punkte festlege und FreeCAD diese Punkte dann als Kontrollpunkte benutzt und die Spline dann ganz anderswo liegt.
Vor langer langer Zeit, lange noch vor 3D hab ich mal mit AutoCAD gearbeitet, da war das problemfrei möglich: man konnte Punkte festlegen, sie einfangen und die Spline generierte sich da entlang. Beim FreeCAD hab ich mehr das Gefühl, dass sie sich drumherum generiert.
Wäre super, wenn mir da einer weiterhelfen könnte.
Danke im voraus schonmal.
Re: b-Spline
Die PartDesign-B-Splines können das nicht. Probier mal den Spline aus der Draft Workbench.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: b-Spline
In der Draft-Wb ist das eingeschränkt möglich. Wenn man die B-Spline-Funktion aufruft, dann folgt die Kurve alle ausgewählten Punkten. Allerdings geht das nur solange wie diese in einer Ebene liegen. Räumliche Kurven sind somit nicht möglich.
Die einzige Möglichkeit wäre denn derzeit das über Python zu lösen:
Code: Select all
pts=[App.Vector(1,2,3), ...] # Liste von Punkten
bs=Part.BSplineCurve()
bs.interpolate(Points=pts)
Part.show(bs.toShape(),"Spline")
Re: b-Spline
… mit der Schwäche des BSplines im Sketcher,
- nur Start- und Endpunkt sind per Bemaßung kontrollierbar,
- Tangentialbedingungen können nur über den zweiten und vorletzten Kontrollpunkt erzeugt werden.
- der "innere" Verlauf des Splines kann nur über die Bemaßung der meist "abseits" liegenden Kontrollpunkte bemaßt werden,
- die ebenfalls erscheinenden "Knotenpunkte" auf dem Spline sind nicht mittels Constraint bemaßbar,
- (letztere lösche ich meistens, wenn ich Zeit und Lust dazu habe, da zu nichts nützlich???).
Damit muss man wohl bis auf weiteres leben, wenn man für sowas unbedingt den Sketcher verwenden will.
Ich jedenfalls würde mich tierisch freuen, wenn man Sketcher-BSplines auch DURCH Knoten-Punkte legen könnte.
Man sehe sich auch gelegentlich den CurvatureComb eines BSplines mit mehr als 4 (Kontroll)-Punkten an!
- nur Start- und Endpunkt sind per Bemaßung kontrollierbar,
- Tangentialbedingungen können nur über den zweiten und vorletzten Kontrollpunkt erzeugt werden.
- der "innere" Verlauf des Splines kann nur über die Bemaßung der meist "abseits" liegenden Kontrollpunkte bemaßt werden,
- die ebenfalls erscheinenden "Knotenpunkte" auf dem Spline sind nicht mittels Constraint bemaßbar,
- (letztere lösche ich meistens, wenn ich Zeit und Lust dazu habe, da zu nichts nützlich???).
Damit muss man wohl bis auf weiteres leben, wenn man für sowas unbedingt den Sketcher verwenden will.
Ich jedenfalls würde mich tierisch freuen, wenn man Sketcher-BSplines auch DURCH Knoten-Punkte legen könnte.
Man sehe sich auch gelegentlich den CurvatureComb eines BSplines mit mehr als 4 (Kontroll)-Punkten an!
Re: b-Spline
Das wäre schon sehr nützlich, z.B. wenn es um Spanten im Innern einer durch B-Spline begrenzten Kurve geht. Momentan geht das nur über den mühseligen Umweg, den Spline in kleine Teile aufzuteilen, die dann tangential zusammengefrickelt werden.
Die Draft splines lassen mich hoffen, weil sie zeigen, dass in FreeCAD die Punkte auch zur Verfügung stehen.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
Re: b-Spline
Hallo
Danke schon mal für die schnellen Antworten!
In Draft hab ich die B-Spline erstellen können
Geschlossen habe ich den Körper, der ja noch zweidimensional ist mit einer Linie.
Dann gehe ich zur Part Design WB und versuche dort aufzupolstern (Abmessung 20 mm), denn es handelt sich schon um ein dreidimensionales Objekt und ich erhalte immer die Meldung: Linked shape object is empty.
Wobei ich ein einfaches Rechteck problemlos aufpolstern kann.
Kann es sein, dass die PartDesign WB die Skizze aus der Draft WB nicht verarbeiten kann?
Gibt es vielleicht auch irgendwo eine Sammlung der Fehlermeldungen mit ihrer Bedeutung?
Danke schon mal für die schnellen Antworten!
In Draft hab ich die B-Spline erstellen können
Geschlossen habe ich den Körper, der ja noch zweidimensional ist mit einer Linie.
Dann gehe ich zur Part Design WB und versuche dort aufzupolstern (Abmessung 20 mm), denn es handelt sich schon um ein dreidimensionales Objekt und ich erhalte immer die Meldung: Linked shape object is empty.
Wobei ich ein einfaches Rechteck problemlos aufpolstern kann.
Kann es sein, dass die PartDesign WB die Skizze aus der Draft WB nicht verarbeiten kann?
Gibt es vielleicht auch irgendwo eine Sammlung der Fehlermeldungen mit ihrer Bedeutung?
Last edited by klaugee on Sun Oct 20, 2019 3:00 pm, edited 2 times in total.
-
- Veteran
- Posts: 7788
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: b-Spline
+1hammax wrote: ↑Sun Oct 20, 2019 9:33 am … mit der Schwäche des BSplines im Sketcher,
- nur Start- und Endpunkt sind per Bemaßung kontrollierbar,
- Tangentialbedingungen können nur über den zweiten und vorletzten Kontrollpunkt erzeugt werden.
- der "innere" Verlauf des Splines kann nur über die Bemaßung der meist "abseits" liegenden Kontrollpunkte bemaßt werden,
- die ebenfalls erscheinenden "Knotenpunkte" auf dem Spline sind nicht mittels Constraint bemaßbar,
- (letztere lösche ich meistens, wenn ich Zeit und Lust dazu habe, da zu nichts nützlich???).
Damit muss man wohl bis auf weiteres leben, wenn man für sowas unbedingt den Sketcher verwenden will.
Ich jedenfalls würde mich tierisch freuen, wenn man Sketcher-BSplines auch DURCH Knoten-Punkte legen könnte.
Man sehe sich auch gelegentlich den CurvatureComb eines BSplines mit mehr als 4 (Kontroll)-Punkten an!
Zustimmung zu allen Punkten. Ich sehe das genauso.
Du wirst die Linie mit dem Draft bspline verbinden müssen, entweder per Part-WB Connect oder eine boolsche Fusion. Danach musst Du das Ergebnis als Basefeature in den Body ziehen, in dem es aufgepolstert werden soll. Tja - das ist PartDesign mit all seinen Nettigkeiten.klaugee wrote: ↑Sun Oct 20, 2019 2:48 pm Hallo
Danke schon mal für die schnellen Antworten!
In Draft hab ich die B-Spline erstellen können
Geschlossen habe ich den Körper, der ja noch zweidimensional ist mit einer Linie.
Dann gehe ich zur Part Design WB und versuche dort aufzupolstern (Abmessung 20 mm), denn es handelt sich schon um ein dreidimensionales Objekt und ich erhalte immer die Meldung: Linked shape object is empty.
Wobei ich ein einfaches Rechteck problemlos aufpolstern kann.
Kann es sein, dass die PartDesign WB die Skizze aus der Draft WB nicht verarbeiten kann?
Passend dazu die Einschätzung dieses Users:
https://forum.freecadweb.org/viewtopic. ... 26#p342026
-
- Veteran
- Posts: 7788
- Joined: Tue Jan 07, 2014 11:10 am
- Contact:
Re: b-Spline
Als Fläche ja. Wenn es ein Solid werden soll muss man die Draft-Linie mit dem Draft-bspline per Part-WB Connect verbinden, dann erst kann man den Connect in der Part-WB extrudieren.
D.h. er muss Connect als Basefeature in den Body ziehen, danach kann man um 20mm aufpolstern.
Nachtrag:
Hab es ausprobiert: Basefeature, Connect, Fusion oder Loft wird als Element für ein Pad zum aufpolstern gar nicht erst angenommen, aber vielleicht mache ich etwas falsch.
Hier meine Datei zum Spielen: Die Curves-WB Linie habe ich genommen, weil die Draft Linie nicht parametrisch ist. Ändert man den bspline, hat man Pech gehabt.
PartDesign, hinterlässt gerne mal ein bitteres "Gschmäckle" ...
Last edited by freecad-heini-1 on Sun Oct 20, 2019 3:48 pm, edited 2 times in total.
Re: b-Spline
Das Verbinden könnte man schon in Draft mit Upgrade machen. Du kannst den B-Spline auch wieder in ein Sketch umwandeln und dann im Sketcher weiterbearbeiten.
Es ist im Übrigen nur eine der Nettigkeiten, PartDesign hält noch andere bereit .
Dieser Link wird Dir kaum weiterhelfen, weil der Beitrag bisher im Kern nichts weiter sagt, als dass es nicht funktioniert, wenn man's falsch macht.freecad-heini-1 wrote: ↑Sun Oct 20, 2019 2:55 pm Tja - das ist PartDesign mit all seinen Nettigkeiten.
Passend dazu die Einschätzung dieses Users:
https://forum.freecadweb.org/viewtopic. ... 26#p342026
Es ist im Übrigen nur eine der Nettigkeiten, PartDesign hält noch andere bereit .
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.