Zusammenfassung
Dieses Design enthält eine Sammlung von Regeln zum Ausrichten und Positionieren eines neuen Koordinatensystems auf mehrere Weisen. Das neue Koordinatensystem kann relativ zum Koordinatensystem des übergeordneten Elements positioniert und ausgerichtet werden. Dies erfolgt entweder über Eingabevektoren und -punkte zur Berechnung des neuen Koordinatensystems oder durch Kopieren des Koordinatensystems aus einem anderen Bauteil.
Mixins
FrameMixinModifier
Parameter
Name |
Typ |
Beschreibung |
localFrame |
Frame |
Das Koordinatensystem des Bauteils, das an FrameMixin beteiligt ist. Es wird nach den Gruppenregeln dieses Designs berechnet oder, wenn keine davon verwendet werden, wird es auf den Wert des referenceFrame festgelegt. |
referenceFrame |
Frame |
Dies ist das Frame-Objekt, das als localFrame zu verwenden ist, wenn keiner der anderen Parameter verwendet wird, um den neuen Frame zu ermitteln. Vorgabemäßig ist der Wert von referenceFrame der localFrame-Wert des übergeordneten Elements dieses untergeordneten Elements. Durch diese Vorgabe übernimmt ein neues untergeordnetes Element, dessen Ausrichtung nicht explizit angegeben wird, die Ausrichtung des übergeordneten Elements. |
origin |
point |
Ursprungspunkt des neuen localFrame-Werts |
xDirection |
Vector |
x-Richtungsvektor des neuen localFrame. Vorgabegemäß ist dies der Vektor 1,0,0 im referenceFrame dieses Bauteils. |
yDirection |
Vector |
y-Richtungsvektor des neuen localFrame. Vorgabegemäß ist dies der Vektor 0,1,0 im referenceFrame dieses Bauteils. |
Gruppenregeln
<origin> Positioniert localFrame basierend auf dem Ursprungspunkt.
<xDirection> richtet localFrame basierend auf dem Vektor xDirection aus.
<yDirection> richtet localFrame basierend auf dem Vektor yDirection aus.
<xDirection yDirection> richtet localFrame basierend auf den Vektoren xDirection und yDirection aus.
<ReferenceFrame> Positioniert und richtet localFrame entsprechend referenceFrame aus.
Zum Hinzufügen zusätzlicher Positionierungs- und Ausrichtungsregeln für benutzerdefinierte Designs existieren kanonische Parameter für %%position und %%orientation. Diese funktionieren unabhängig voneinander. Daher kann der Ursprung (position) des Koordinatensystems unabhängig von dessen Ausrichtung (orientation) definiert werden.
Beispiel 1
Name: |
frameMixin_Ex01
|
Design: |
acDrawingDocument
|
Name
|
Typ
|
Formel
|
scale |
Number |
1 |
shaftLength |
Number |
scale * 3/7 |
Untergeordneter Name: |
shaft
|
Untergeordnetes Design: |
:Cylinder
|
Child List? |
Name
|
Typ
|
Angegeben
|
Quantity |
Integer |
3 |
axis |
Vector |
nth(Child.index, {unitX, unitY, unitZ}) |
height |
Number |
shaftLength |
radius |
Number |
Child.height/17 |
bottomPoint |
point |
origin |
color |
String |
nth(Child.index, {" blue ", " green ", " red "}) |
Untergeordneter Name: |
arrow
|
Untergeordnetes Design: |
:Cone
|
Untergeordnete Liste? |
Name
|
Typ
|
Angegeben
|
Quantity |
Integer |
3 |
height |
Number |
scale - shaftLength |
radius |
Number |
Child.height/5 |
color |
String |
ref(nth(Child.index, shaft), " color: ") |
origin |
point |
ref(nth(Child.index, shaft), " topPoint: ") |
ReferenceFrame |
Frame |
ref(nth(Child.index, shaft), " localFrame: ") |
Beispiel 2
Name: |
frameMixin_Ex02
|
Design: |
acDrawingDocument
|
Untergeordneter Name: |
originAxes
|
Untergeordnetes Design: |
:frameMixin_Ex01
|
Untergeordneter Name: |
anObject
|
Untergeordnetes Design: |
:Text
|
Name
|
Typ
|
Angegeben
|
Text |
String |
"Obj" |
charHeight |
Number |
1.0 |
Untergeordneter Name: |
newLocalFrame
|
Untergeordnetes Design: |
:frameMixin_Ex01
|
Name
|
Typ
|
Angegeben
|
scale |
Number |
0.5 |
ReferenceFrame |
Frame |
anObject.localFrame |
Beispiel 3
Name: |
frameMixin_Ex03
|
Design: |
acDrawingDocument
|
Untergeordneter Name: |
originAxes
|
Untergeordnetes Design: |
:frameMixin_Ex01
|
Untergeordneter Name: |
anObject
|
Untergeordnetes Design: |
:Text
|
Name
|
Typ
|
Angegeben
|
Text |
String |
"Obj" |
charHeight |
Number |
1.0 |
origin |
point |
Point(0, 0, 2) |
Untergeordneter Name: |
newLocalFrame
|
Untergeordnetes Design: |
:frameMixin_Ex01
|
Name
|
Typ
|
Angegeben
|
scale |
Number |
0.5 |
referenceFrame |
Frame |
anObject.localFrame |
Beispiel 4
Name: |
frameMixin_Ex04
|
Design: |
acDrawingDocument
|
Untergeordneter Name: |
originAxes
|
Untergeordnetes Design: |
:frameMixin_Ex01
|
Untergeordneter Name: |
anObject
|
Untergeordnetes Design: |
:Text
|
Name
|
Typ
|
Angegeben
|
Text |
String |
"Obj" |
charHeight |
Number |
1.0 |
yDirection |
Vector |
unitZ |
Untergeordneter Name: |
newLocalFrame
|
Untergeordnetes Design: |
:frameMixin_Ex01
|
Name
|
Typ
|
Angegeben
|
scale |
Number |
0.5 |
referenceFrame |
Frame |
anObject.localFrame |
Beispiel 5
Name: |
frameMixin_Ex05
|
Design: |
acDrawingDocument
|
Untergeordneter Name: |
originAxes
|
Untergeordnetes Design: |
:frameMixin_Ex01
|
Untergeordneter Name: |
anObject
|
Untergeordnetes Design: |
:Text
|
Name
|
Typ
|
Angegeben
|
Text |
String |
"Obj" |
charHeight |
Number |
1.0 |
origin |
point |
Point(0, 0, 2) |
xDirection |
Vector |
-unitY |
yDirection |
Vector |
unitZ |
Untergeordneter Name: |
newLocalFrame
|
Untergeordnetes Design: |
:frameMixin_Ex01
|
Name
|
Typ
|
Angegeben
|
scale |
Number |
0.5 |
referenceFrame |
Frame |
anObject.localFrame |