User Tools

Site Tools


pyflow:video:einfacher_editor_fuer_eine_3d_kurve

Ein einfacher Editor für eine 3D Kurve

Idee

Durch Doppelklick auf den Viewprovider eines Teils im Treeview erhält man in der 3D Szene ein Hilfsobjekt, mit dem man das Placement des Teils ändern kann.

Vorgehensweise
  1. Erzeuge eine Reihen von kleinen Kugeln in Part. Diese Kugel dienen als Platzierer für die Pole der Kurve.
  2. Erzeuge für jede Kugel ein Ref Node im Pyflow
  3. Erzeuge aus den Ref-Nodes eine List Of Shapes
  4. Erzeuge eine Center Of Mass Node, welche aus der List Of Shapes die Liste der Schwerpunkte berechnet. Das sind die Mittelpunkte der Kugeln.
  5. Erzeuge nun ein BSpline Curve Node, welche die Schwerpunkte als Pole verwendet.
  6. Zur Veranschaulichung der BSplineCurve kann man nun noch eine View 3D Node anhängen.
Funktionslogik

Durch die Erstellung der Ref Nodes wurden automatisch im FreeCAD Ref Links erzeugt, die von den Kugeln abhängen. Wird eine Kugel geändert, so benachrichtigt der Ref Link die Ref Node im Pyflow und diese Ref Node stößt eine Kalkulation bis hin zur BSplineCurve an.

Ausblick

Es ist nicht einfach, den Kurvenverlauf durch Verschiebung der Pole in eine gewünschte Form zu bringen. Einfacher geht es, wenn man statt der BSpline Curve eine BSplineCurve Interpolation Node oder eine BSplineCurve Approximation Node verwendet.

Bei diesen beiden Nodes läuft die Kurve direkt oder näherungsweise durch die Kontrollpunkte.

Video
Verwendete Nodes
pyflow/video/einfacher_editor_fuer_eine_3d_kurve.txt · Last modified: 2019/12/20 11:26 by admin