Dieses Design definiert auf dem CAD-Hostsystem einen 3D-Drahtkörperbogen. Für die Festlegung der Abhängigkeiten eines Bogens reicht die Angabe des Radius oder Durchmessers aus. Der Start- und der Endwinkel sind relativ zum startVector des Bogens, der vorgabemäßig auf der x-Achse des lokalen Frame liegt. Alle Winkel sind positiv, und der Startwinkel muss nicht kleiner als der Endwinkel sein. Der Bogen verläuft immer gegen den Uhrzeigersinn relativ zur Lotrechten (Rechte-Hand-Regel in einem nach rechts ausgerichteten Koordinatensystem). Die Abhängigkeiten eines Bogens können auch mit der Funktion Trim() bzw. TrimTan() angegeben werden, mit denen Start- und Endwinkel berechnet werden können. Die hierfür erforderliche Syntax (Stutzen einer Kurve) wird in Beispiel 4 gezeigt.
Name | Typ | Beschreibung |
---|---|---|
radius | Number | Radius des Bogens |
StartAngle | Number | Der Winkel von der lokalen x-Achse zum Startpunkt des Bogens. Der Wert kann zwischen 360 und -360 Grad liegen. |
endAngle | Number | Der Winkel von der lokalen x-Achse zum Endpunkt des Bogens. Der Wert kann zwischen 360 und -360 Grad liegen und muss nicht größer als startAngle sein. |
Name | Typ | Beschreibung |
---|---|---|
center | point | Mittelpunkt des dem Bogen zugrunde liegenden Kreises. |
startVector | Vector | Vektor zur Angabe der Achse, von der aus der Start- und der Endwinkel gemessen werden. Vorgabegemäß ist dies die lokale x-Achse (1,0,0). |
topDir | Vector | Vektor, der lotrecht zur Bogenebene steht. |
diameter | Number | Durchmesser des Bogens. Dieser kann anstelle des Radius eingegeben werden. |
tanArc1 | Part | Dieser Parameter wird verwendet, wenn dieser Bogen tangential zu einem anderen Bogen liegen soll. Als weitere Abhängigkeiten eines solchen Bogens werden die Parameter inside1 und onRight1 verwendet. |
tanArc2 | Part | Dieser Parameter wird verwendet, wenn dieser Bogen tangential zu einem anderen Bogen liegen soll. Als weitere Abhängigkeiten eines solchen Bogens werden die Parameter inside2 und onRight2 verwendet. |
tanLine1 | Part | Dieser Parameter wird verwendet, wenn dieser Bogen tangential zu einer Linie liegen soll. Als weitere Abhängigkeit eines solchen Bogens wird der Parameter onRight1 verwendet. |
tanLine2 | Part | Dieser Parameter wird verwendet, wenn dieser Bogen tangential zu einer Linie liegen soll. Als weitere Abhängigkeit eines solchen Bogens wird der Parameter onRight2 verwendet. |
thruPoint1 | point | Der Bogen verläuft durch den angegebenen Punkt. |
thruPoint2 | point | Der Bogen verläuft durch den angegebenen Punkt. |
thruPoint3 | point | Der Bogen verläuft durch den angegebenen Punkt. |
inside1 | Boolean | Dieser Parameter legt fest, auf welcher Seite von tanArc1 der Bogen erstellt werden soll. Ist der Wert True, wird der Bogen zur Mitte von tanArc1 hin versetzt. Bei False wird der Bogen von der Mitte von tanArc1 weg versetzt. |
inside2 | Boolean | Dieser Parameter legt fest, auf welcher Seite von tanArc2 der Bogen erstellt werden soll. Bei True wird der Bogen zur Mitte von tanArc2 hin versetzt. Bei False wird der Bogen von der Mitte von tanArc2 weg versetzt. |
onRight1 | Boolean | Wenn dieser Bogen von tanArc1 und tanArc2 abhängig ist, legt dieser Parameter die Position des Bogenmittelpunkts fest. Dazu wird zwischen den Mittelpunkten von tanArc1 und tanArc2 eine imaginäre Linie gezogen. Wenn onRight1 True ist, wird der Mittelpunkt dieses Bogens auf der rechten Seite dieser Linie platziert. Umgekehrt, wenn onRight1 False ist, wird der Mittelpunkt dieses Bogens auf der linken Seite dieser Linie platziert. Wenn dieser Bogen von tanLine1 abhängig ist, schränkt dieser Parameter den Mittelpunkt dieses Bogens ein. Wenn onRight1 True ist, wird der Mittelpunkt dieses Bogens auf der rechten Seite von tanLine1 platziert. Um zu bestimmen, welche Seite der Linie die richtige ist, wird vom Start- zum Endpunkt der Linie ein Vektor erstellt. Befindet sich ein Punkt auf der rechten Seite, so hat ein Vektor vom Startpunkt der Linie bis zum betreffenden Punkt einen negativen Winkel zum Linienvektor. |
onRight2 | Boolean | Wenn dieser Bogen von tanLine2 abhängig ist, schränkt dieser Parameter den Mittelpunkt dieses Bogens ein. Wenn onRight2 True ist, wird der Mittelpunkt dieses Bogens auf der rechten Seite von tanLine2 platziert. Um zu bestimmen, welche Seite der Linie die richtige ist, wird vom Start- zum Endpunkt der Linie ein Vektor erstellt. Befindet sich ein Punkt auf der rechten Seite, so hat ein Vektor vom Startpunkt der Linie bis zum betreffenden Punkt einen negativen Winkel zum Linienvektor. |
Name | Typ | Beschreibung |
---|---|---|
arcLength | Number | Die Länge des Bogens von startAngle zu endAngle. |
arc | Number | Der absolute Wert des Bogenwinkels von startAngle zu endAngle |
endPoint | point | Punkt beim Winkel endAngle des Bogens |
curveParamNearPoint(Punkt p) Zahl: Findet den Winkel, der einen Punkt auf der zum eingegebenen Punkt p nächstliegenden Kurve hat.
Name: | arc_Ex01 | |
Design: | acDrawingDocument | |
Name | Typ | Formel |
arcAngleList | list |
Dim a As Part Dim lst As List = {} For Each a In Me.Children lst = lst + {a.arc} Next ' a Return lst |
Untergeordneter Name: | Arc_1 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | 1 |
Untergeordneter Name: | Arc_2 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
endAngle | Number | 230 |
StartAngle | Number | 90 |
diameter | Number | Arc_1.radius * 3 |
center | point | Arc_1.center - Vector(0, Arc_1.radius + Child.radius + 2, 0) |
Untergeordneter Name: | Arc_3 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
endAngle | Number | 20 |
StartAngle | Number | 200 |
diameter | Number | Arc_1.radius * 4 |
center | point | Arc_2.center - Vector(0, Arc_2.radius + Child.radius + 2, 0) |
Name: | Arc_Ex02 |
Design: | acDrawingDocument |
Untergeordneter Name: | Arc_4 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | 1 |
center | point | point(0,-10,0) |
Untergeordneter Name: | Arc_5 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | 0.5 |
center | point | point(3,-10.5,0) |
Untergeordneter Name: | Arc_6 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | 1.5 |
tanArc1 | Part | Arc_4 |
tanArc2 | Part | Arc_5 |
inside1 | Boolean | False |
inside2 | Boolean | False |
onRight1 | Boolean | False |
Untergeordneter Name: | Arc_7 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | 2 |
tanArc1 | Part | Arc_4 |
tanArc2 | Part | Arc_5 |
inside1 | Boolean | True |
inside2 | Boolean | False |
onRight1 | Boolean | False |
Name: | Arc_Ex03 |
Design: | acDrawingDocument |
Untergeordneter Name: | Line_1 | |
Untergeordnetes Design: | :Line | |
Name | Typ | Angegeben |
thruPoint1 | point | Point(6.74, -8.44, 0) |
thruPoint2 | point | Point(12.73, -12.15, 0) |
Untergeordneter Name: | Line_2 | |
Untergeordnetes Design: | :Line | |
Name | Typ | Angegeben |
thruPoint1 | point | Point(12.66, -8.29, 0) |
thruPoint2 | point | Point(6.81, -12.25, 0) |
Untergeordneter Name: | Arc_8 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | 1 |
tanLine1 | Part | Line_1 |
tanLine2 | Part | Line_2 |
onRight1 | Boolean | True |
onRight2 | Boolean | False |
Untergeordneter Name: | Arc_9 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | 2 |
tanLine1 | Part | Line_1 |
tanLine2 | Part | Line_2 |
onRight1 | Boolean | False |
onRight2 | Boolean | True |
Untergeordneter Name: | Arc_10 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | 0.5 |
tanLine1 | Part | Arc_8 |
tanLine2 | Part | Line_1 |
onRight1 | Boolean | True |
onRight2 | Boolean | True |
Untergeordneter Name: | Arc_11 | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | 0.5 |
tanLine1 | Part | Arc_9 |
tanLine2 | Part | Line_1 |
onRight1 | Boolean | False |
onRight2 | Boolean | True |
Name: | Arc_Ex04 | |
Design: | acDrawingDocument | |
Name | Typ | Formel |
PlateThickness | Number | 0.125 |
PinRadius | Number | 0.125 |
BendRadius | Number | 0.25 |
PlateWidth | Number | 1.5 |
Untergeordneter Name: | BottomLine | |
Untergeordnetes Design: | :Line | |
Name | Typ | Angegeben |
thruPoint1 | point | Me.origin |
thruPoint2 | point | Me.origin + Vector(PlateThickness, 0, 0) |
Untergeordneter Name: | PinArc | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | PinRadius |
center | point | Point(PlateThickness, PlateWidth, 0) |
StartAngle | Number | 280 |
endAngle | Number | TrimTan(Me.Child, InnerBlendArc) |
Untergeordneter Name: | OuterArc | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | PinArc.radius + PlateThickness |
center | point | PinArc.center |
StartAngle | Number | 280 |
endAngle | Number | TrimTan(Me.Child. OuterBlendArc) |
Untergeordneter Name: | OuterBlendArc | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | BendRadius |
tanArc1 | Part | OuterArc |
inside1 | Boolean | False |
onRight1 | Boolean | False |
tanLine1 | Part | LeftLine |
onRight2 | Boolean | True |
endAngle | Number | TrimTan(Me.Child, OuterArc) |
Untergeordneter Name: | LeftLine | |
Untergeordnetes Design: | :Line | |
Name | Typ | Angegeben |
thruPoint1 | point | BottomLine.startPoint |
dirVector | Vector | Vector(0, 1, 0) |
end | Number | TrimTan(Me.Child, OuterBlendArc) |
Untergeordneter Name: | InnerBlendArc | |
Untergeordnetes Design: | :Arc | |
Name | Typ | Angegeben |
radius | Number | BendRadius |
tanLArc1 | Part | PinArc |
inside1 | Boolean | False |
onRight1 | Boolean | False |
tanLine1 | Part | RightLine |
onRight2 | Boolean | True |
endAngle | Number | TrimTan(Me.Child, PinArc) |
Untergeordneter Name: | RightLine | |
Untergeordnetes Design: | :Line | |
Name | Typ | Angegeben |
thruPoint1 | point | OuterArc.startPoint |
dirVector | Vector | Vector(0, 1, 0) |
end | Number | TrimTan(Me.Child, InnerBlendArc) |
Untergeordneter Name: | TopLine | |
Untergeordnetes Design: | :Line | |
Name | Typ | Angegeben |
thruPoint1 | point | OuterArc.startPoint |
thruPoint2 | point | PinArc.startPoint |