|
Menüeintrag |
---|
Änderung → Anordnungswerkzeuge → Pfad-Anordnung Bearbeiten → Pfad-Anordnung |
Arbeitsbereich |
Draft, BIM |
Standardtastenkürzel |
Keiner |
Eingeführt in Version |
0.14 |
Siehe auch |
Draft RechtwinkligeAnordnung, Draft PolareAnordnung, Draft KreisAnordnung, Draft PfadVerknüpfungsanordnung, Draft PunktAnordnung, Draft PunktVerknüpfungsanordnung |
Der Befehl Draft PfadAnordnung erstellt eine regelmäßige Anordnung aus einem ausgewählten Objekt, indem er Kopien entlang eines Pfades positioniert. Der Befehl Draft PfadVerknüpfungsanordnung erstellt alternativ eine effizientere Verknüpfungsanordnung (Link-Array). Außer der Art der Anordnung die erstellt wird, normale Anordnung oder Verknüpfungsanordnung, ist der Befehl Draft PfadVerknüpfungsanordnung identisch mit diesem Befehl.
Beide Befehle können für 2D-Objekte verwendet werden, die mit den Arbeitsbereichen Draft oder Sketcher erstellt wurden, aber auch für viele 3D-Objekte, die mit anderen Arbeitsbereichen wie Part, PartDesign oder BIM erstellt wurden.
Draft PfadAnordnung
Die Anordnung der Elemente in einer Draft PfadAnordnung ist von den Eigenschaften des Array und der Orientierung des Quellobjektes abhängig. Die Position des Quellobjektes wird ignoriert: für den Zweck des Array werden x
, y
und z
auf 0
gesetzt. Wenn die Eigenschaft DatenAlign des Array auf false gesetzt ist, dann ist die Orientierung der Array Elemente gleich wie beim Quellelement. Wenn sie auf true
gesetzt ist, dann wird die X Achse des lokalen Koordinatensystems jedes Element Placements die Tangente an den Pfad. Die Y und Z Achsen des lokalen Koordinatensystems hängen von der DatenAlign Mode Eigenschaft des Array ab. Andere Eigenschaften die an der Anordnung des DatenTangent Vector beteiligt sind, sind DatenForce Vertical und DatenVertical Vector.
3 Anordnungen die auf demselben nicht ebenen Pfad basieren. Von links nach rechts: Align ist false, Align ist true mit Align Mode Original und Align ist true mit Align Mode Frenet
.
Es gibt drei Ausrichtungsmodi
Dieser Modus kommt dem einfachen DatenAusrichtungsmodus der in Version 0.18 verfügbar ist am Nächsten. Er basiert auf einem festen Normalvektor. Wenn der Pfad eben ist, dann ist dieser Vektor im rechten Winkel zur Ebene des Pfades, sonst wird ein Standard Vektor, die positive Z Achse, verwendet. Aus diesem Normalvektor und dem lokalen Tangentenvektor (der lokalen X Achse) wird das Kreuzprodukt gebildet. Dieser neue Vektor wird als lokale Z Achse verwendet. Die Orientierung der lokalen Y Achse wird von der lokalen X und Z Achse festgelegt.
Dieser Modus verwendet den lokalen Normalvektor der aus dem Pfad an jeder Element Plazierung abgeleitet wird. Wenn dieser Vektor nicht festgelegt werden kann (zum Beispiel bei einem geraden Segment) dann wird stattdessen an ein Standard Vektor, wieder die Positive Z Achse verwendet. Mit diesem Vektor und dem lokalen Tangentenvektor wird das Koordinatensystem nach dem gleichen Verfahren wie im vorigen Abschnitt festgelegt.
Dieser Modus ist ähnlich dem DatenAusrichtungsmodus Original
, bietet aber die Möglichkeit das Quellobjekt durch Festlegen eines DatenTangenvektors vorab zu drehen.
Diese Eigenschaften sind nur verfügbar wenn der DatenAlign Mode Original
oder Tangent
ist. Wenn DatenForce Vertical auf true
gesetzt ist, dann wird das Koordinatensystem auf eine andere Art berechnet. Der DatenVertical Vector wird wie ein fester Normalvektor verwendet. Aus diesem Normalvektor und dem lokalen Tangentenvektor (die lokale X Achse) wird wieder das Kreuzprodukt gebildet. Aber dieser Vektor wird als lokale Y Achse verwendet. Die Orientierung der lokalen Z Achse wird von den Lokalen X und Y Achsen festgelegt.
Die Verwendung dieser Eigenschaften kann notwendig werden, wenn eine Kante des Pfades (fast) parallel zur Standard Normalen des Pfades wird.
Siehe auch: Eigenschafteneditor.
Eine Pfad-Anordnung (Path-Array-Objekt) ist von einem Part-Formelement abgeleitet und erbt alle seine Eigenschaften (mit Ausnahme einiger Ansicht-Eigenschaften, die nicht an die Verknüpfungsanordnungen vererbt werden). Außerdem sind, wenn nicht anders angegeben, die folgenden zusätzlichen Eigenschaften vorhanden:
Link
Die Eigenschaften dieser Gruppe stehen nur für Verknüpfungsanordnungen zur Verfügung. Siehe Std VerknüpfungErstellen für weitere Informationen.
Float
)Vector
)VectorList
)BoolList
)PlacementList
)LinkList
)Bool
)LinkList
)LinkSubHidden
)Bool
)Anordnung
Bool
): Legt fest, ob die Elemente der Anordnung entlang des Pfades ausgerichtet werden oder nicht. Ist sie false
, sind alle anderen Eigenschaften in dieser Gruppe, außer Daten-EigenschaftExtra Translation nicht anwendbar und werden ausgeblendet.Enumeration
): Legt das Ausrichtungsverfahren fest; zur Auswahl stehen Original
, Frenet
oder Tangent
.Length
): Legt die Länge vom Ende des Pfades bis zur letzten Kopie fest. Muss kleiner sein als die Länge des Pfades abzüglich der Daten-EigenschaftStart Offset. eingeführt mit Version 0.21VectorDistance
): Legt einen zusätzlichen Versatz für jedes Element entlang des Pfades fest.Bool
): Legt fest, ob die vorgegebene Ausrichtung der Normale mit dem Wert der Daten-EigenschaftVertical Vector überschrieben wird. Wird nur verwendet, wenn die Daten-EigenschaftAlign Mode auf Original
oder Tangent
gesetzt ist.Length
): Legt die Länge vom Startpunkt des Pfades bis zur ersten Kopie fest. Muss kleiner als die Länge des Pfades sein. eingeführt mit Version 0.21Vector
): Legt den Ausrichtungsvektor fest. Wird nur verwendet, wenn die Daten-EigenschaftAlign Mode auf Tangent
gesetzt ist.Vector
): Legt den Vektor zum Überschreiben der Richtung der Normale fest. Wird nur verwendet, wenn die Daten-EigenschaftVertical Vector auf true
gesetzt ist.Objekte
LinkGlobal
): legt das Objekt fest, welches im Array vervielfacht wird.Integer
): legt die Anzahl der Elemente im Array fest.Bool
): legt fest, ob das Array in der Baumansicht ausgeklappt wird, um die Auswahl einzelner individueller Elemente zu ermöglichen. Nur bei verbundenen Arrays möglich.Bool
): legt fest, ob einander überlappende Elemente im Array vereinigt werden oder nicht. Wird bei verbundenen Arrays nicht verwendet. introduced in version 1.0LinkGlobal
): legt fest, welches Objekt als Pfad verwendet wird. Es muss Kanten
in seinem Part TopoForm enthalten.LinkSubListGlobal
): legt eine Liste mit Kanten des DatenPath Object fest. Wenn geliefert, dann werden nur diese Kanten für den Pfad verwendet.
Verknüpfung
Die Eigenschaften dieser Gruppe, mit Ausnahme der ererbten Eigenschaften, stehen nur für Verknüpfungsanordnungen zur Verfügung. Siehe Std VerknüpfungErstellen für weitere Informationen.
Enumeration
)FloatConstraint
)Bool
)FloatConstraint
)Bool
): das ist eine geerbte Eigenschaft welche in der Auswahl Gruppe für andere Arrays aufscheintMaterial
)Basis
Die Eigenschaftzen dieser Gruppe sind mit Ausnahme der geerbten Eigenschaft nur bei verbundenen Arrays verfügbar. Siehe Std VerknüpfungErstellen für weitere Informationen.
PersistentObject
)MaterialList
)ColorList
)BoolList
)PythonObject
): das ist eine geerbte Eigenschaft.Anzeige Optionen
Die Eigenschaften in dieser Gruppe sind ererbte Eigenschaften. Siehe auch Part Formelement.
Bool
): diese Eigenschaft wird bei verbundenen Arrays nicht vererbt.Enumeration
): kann für verbundene Arrays Link
oder ChildView
sein. Für andere Arrays kann es: Flat Lines
, Shaded
, Wireframe
oder Points
sein.Bool
)Bool
)Draft
Enumeration
): nicht verwendet.Float
): nicht verwendet.Objekt Stil
Die Eigenschaften dieser Gruppe werden nicht an Verknüpfungsanordnungen vererbt.
Siehe auch: Autogenerierte API-Dokumentation und Grundlagen der Skripterstellung in FreeCAD.
Zum Erstellen einer Pfad-Anordnung wird die Methode make_path_array
des Draft-Moduls verwendet (eingeführt mit Version 0.19). Diese Methode ersetzt die veraltete Methode makePathArray
.
path_array = make_path_array(base_object, path_object,
count=4, extra=App.Vector(0, 0, 0), subelements=None,
align=False, align_mode="Original", tan_vector=App.Vector(1, 0, 0),
force_vertical=False, vertical_vector=App.Vector(0, 0, 1),
use_link=True)
base_object
ist das Objekt, das angeordnet werden soll. Es kann auch die Benennung (die Zeichenkette Label
) eines Objekts im aktuellen Dokument sein.path_object
: Ist das Pfadobjekt (path object). Es kann auch die Benennung (die Zeichenkette Label
) eines Objekts im aktuellen Dokument sein.count
ist die Anzahl der Elemente einer Anordnung.extra
ist ein Vektor, der jedes Element versetzt.subelements
ist eine Liste von Kanten im path_object
, z.B. ["Edge1", "Edge2"]
. Wenn vorhanden, werden nur diese Kanten für den Pfad verwendet.align
auf True
gestzt, werden die Elemente abhängig von der Eigenschaft align_mode
, die die Werte "Original"
, "Frenet"
oder "Tangent"
annehmen kann, entlang des Pfades ausgerichtet.tan_vector
ist ein Einheitsvektor, der die örtliche Tangentenrichtung der Elemente entlang des Pfades festlegt. Er wird verwendet, wenn align_mode
auf "Tangent"
gesetzt ist.force_vertical
auf True
gsetzt, wird vertical_vector
für die lokale Z-Achse der Elemente entlang des Pfades verwendet. Es wird verwendet, wenn align_mode
auf "Original"
oder "Tangent"
gesetzt ist.use_link
auf True
gesetzt, werden App-Links anstatt normaler Kopien erstellt.path_array
wird mit der erstellten Anordnung zurückgegeben.Beispiel:
import FreeCAD as App
import Draft
doc = App.newDocument()
p1 = App.Vector(500, -1000, 0)
p2 = App.Vector(1500, 1000, 0)
p3 = App.Vector(3000, 500, 0)
p4 = App.Vector(4500, 100, 0)
spline = Draft.make_bspline([p1, p2, p3, p4])
obj = Draft.make_polygon(3, 500)
path_array = Draft.make_path_array(obj, spline, 6)
doc.recompute()
wire = Draft.make_wire([p1, -p2, -p3, -p4])
path_array2 = Draft.make_path_array(obj, wire, count=3, extra=App.Vector(0, -500, 0), subelements=["Edge2", "Edge3"], align=True, force_vertical=True)
doc.recompute()