Draft BSpline

From FreeCAD Documentation
Revision as of 19:12, 22 February 2019 by Le Loup (talk | contribs) (Created page with "Der Spline kann nach doppelklicken des Elements in der Baumansicht oder nach drücken der Schaltfläche {{Button|16px Bearbeiten}} g...")

Draft BSpline

Menüeintrag
Entwurf → BSpline
Arbeitsbereich
Draft, Arch
Standardtastenkürzel
B S
Eingeführt in Version
0.7
Siehe auch
Draft Polygonzug, Draft Bézierkurve

Beschreibung

Das BSpline-Werkzeug erstellt eine B-Spline-Kurve aus verschiedenen Punkten. Man benötigt die vorher im Draft Tray gesetzte Linienbreite und -farbe.

Das BSpline-Werkzeug verhält sich wie das Linienzug-Werkzeug, außer dass die Segmente gebogen sind anstatt gerader Linien. Benutze das WireToBSpline zur Konvertierung des einen ins andere.

The BSpline tool specifies the exact points through which the curve will go; on the other hand the Draft BezCurve tool uses control points to define the direction of the curve. To create exact circular or elliptical curves, use Draft Arc and Draft Ellipse.

Spline definiert durch mehrere Punkte

Anwendung

  1. Drücke die Schaltfläche B-Spline oder drücke B, dann S
  2. Klicke einen ersten Punkt in der 3D-Ansicht oder tippe eine Koordinate und drücke die Schaltfläche Punkt hinzufügen.
  3. Klicke weitere Punkte in der 3D-Ansicht oder tippe eine Koordinate und drücke die Schaltfläche Punkt hinzufügen.
  4. Drücke Esc oder die Schaltfläche Schließen zum Abschließen der Änderung.

Der Spline kann nach doppelklicken des Elements in der Baumansicht oder nach drücken der Schaltfläche Bearbeiten geändert werden. Dann kannst Du die Punkte an eine neue Position verschieben oder Punkt hinzufügen oder Punkt entfernen und dann den Linienzug anklicken, um Punkte hinzuzufügen oder zu entfernen.

Optionen

  • Drücke F oder den Beenden-Button, um den B-Spline zu beenden (nicht zu schließen)
  • Drücke C oder den Schließen-Button oder klicke den ersten Punkt, um den B-Spline zu schließen, indem ein letztes Segment zwischen dem letzen und ersten Punkt eingefügt wird.
  • Drücke X, Y oder Z nach einem Punkt, um den nächsten Punkt an der angegebenen Achse einzuschränken.
  • Um Koordinaten manuell einzugeben, gib einfach die Ziffern ein, drücke dann Enter zwischen den X-, Y- und Z-Komponenten.
  • Klicke das Ankreuzkästchen zum de/aktivieren des Relativ-Buttons. Wenn der Relativ-Modus aktiviert ist, sind die Koordinaten des nächsten Punkts relativ zum letzten. Wenn nicht, sind sie absolut, bezogen auf den Urspung (0,0,0).
  • Klicke den Gefüllt-Button, damit der Spline nach dem Schließen mit einer Oberfläche gefüllt wird.
  • Drücke Alt+N oder klicke das Ankreuzkästchen zum de/aktivieren des Nächstes-Buttons. Wenn der Fortsetzungsmodus aktiviert ist, wird das B-Spline-Werkzeug nach Beenden oder Schließen eines Splines neugestartet, um das Zeichnen eines weiteren Splines ohne erneutes Drücken des B-Splines-Buttons zu ermöglichen.
  • Drücke Strg während des Zeichnens, um das Einrasten Deines Punkts an der nächsten Einrastposition zu erzwingen, unabhängig vom Abstand.
  • Drücke Shift während des Zeichnens, um Deinen Punkt horizontal oder vertikal in Relation zum Mittelpunkt einzuschränken.
  • Drücke Esc oder den Abbrechen-Button, um den aktuellen B-Spline-Befehl abzubrechen
  • B-Splines können durch Setzen der Pattern-Eigenschaft (s.u.) im Flache Linien-Anzeigemodus eine Schraffur anzeigen.

Eigenschaften

  • Daten-EigenschaftClosed: Gibt an, ob der Spline geschlossen ist oder nicht
  • Daten-EigenschaftMake Face: Füllt den Spline mit einer Oberfläche
  • Ansicht-EigenschaftEnd Arrow: Zeigt ein Pfeilsymbol am letzten Punkt des Splines, so dass es als Anmerkungszeile benutzt werden kann
  • Ansicht-EigenschaftPattern: Gibt ein Schraffurmuster an, mit dem der Linienzug gefüllt wird
  • Ansicht-EigenschaftPattern Size: Gibt die Größe des Schraffurmusters an

A BSpline object shares most properties from a Draft Wire, however, most properties only make sense for a Wire.

Data

  • DatenClosed: specifies if the spline is closed or not. If the spline is initially open, this value is false; setting it to true will draw a curve segment to close the spline. If the spline is initially closed, this value is true; setting it to false will remove the last curve segment, and make the spline open.
  • DatenMake Face: specifies if the spline makes a face or not. If it is true a face is created, otherwise only the perimeter is considered part of the object. This property only works if DatenClosed is true.
Note: do not set DatenMake Face to true if the spline intersects itself, as it won't create a proper face.
  • DatenParameterization: affects the shape of the BSpline.

View

  • AnsichtArrow Size: specifies the size of the symbol displayed at the end of the spline.
  • AnsichtArrow Type: specifies the type of symbol displayed at the end of the spline, which can be "Dot", "Circle", "Arrow", or "Tick".
  • AnsichtEnd Arrow: specifies whether to show a symbol at the last point of the spline, so it can be used as an annotation line.
  • AnsichtPattern: specifies a Draft Pattern with which to fill the face of a closed spline. This property only works if DatenMake Face is true, and if AnsichtDisplay Mode is "Flat Lines".
  • AnsichtPattern Size: specifies the size of the Draft Pattern.

Scripting

Siehe auch: Draft API und FreeCAD Scripting Basics.

Das BSpline-Werkzeug kann in Makros und aus der Python-Konsole heraus durch folgende Funktion angesprochen werden:

BSpline = makeBSpline(pointslist, closed=False, placement=None, face=None, support=None)
BSpline = makeBSpline(Part.Wire, closed=False, placement=None, face=None, support=None)
  • Erstellt ein B-Spline-Objekt aus der angegebenen Liste aus Vektoren.
  • Wenn 'closed' auf True gesetzt ist oder der erste und letzte Punkt identisch sind, wird der Linienzug geschlossen.
  • Wenn 'face' auf True gesetzt ist (und der B-Spline geschlossen ist), wird der B-Spline gefüllt.
  • Anstatt einer Liste von Punkten, kannst Du auch ein Part-Linienzug übergeben.
  • Liefert das neu erzeugte Objekt zurück.

Beispiel:

import FreeCAD, Draft

p1 = FreeCAD.Vector(0, 0, 0)
p2 = FreeCAD.Vector(1000, 1000, 0)
p3 = FreeCAD.Vector(2000, 0, 0)

BSpline1 = Draft.makeBSpline([p1, p2, p3], closed=True)
BSpline2 = Draft.makeBSpline([p1, 2*p3, 1.3*p2], closed=True)
BSpline3 = Draft.makeBSpline([1.3*p3, p1, -1.7*p2], closed=True)