ArcMixin

Zusammenfassung

Dieses Design definiert keine Geometrie, sondern enthält alle Regeln und Methoden, um einem Bauteil mit Bogengeometrie Abhängigkeiten zuzuweisen.

Mixins

ArcMixinModifier

Kanonische Werte

Name Typ Beschreibung
Radius Zahl Radius des Bogens

Parameter

Name Typ Beschreibung
StartAngle Zahl Der Winkel von der lokalen x-Achse zum Startpunkt des Bogens. Der Wert kann zwischen 360 und -360 Grad liegen.
endAngle Zahl 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.
center Punkt Mittelpunkt des dem Bogen zugrunde liegenden Kreises.
startVector Vektor Radius 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 Vektor Vektor, der lotrecht zur Bogenebene steht.
diameter Zahl Durchmesser des Bogens. Dieser kann anstelle des Radius eingegeben werden.
tanArc1 Bauteil Dieser Parameter wird verwendet, wenn dieser Bogen tangential zu einem anderen Bogen liegen soll. Wird in Verbindung mit den Parametern inside1 und onRight1 verwendet, um den Bogen vollständig abhängig zu machen.
tanArc2 Bauteil Dieser Parameter wird verwendet, wenn dieser Bogen tangential zu einem anderen Bogen liegen soll. Wird in Verbindung mit den Parametern inside2 und onRight2 verwendet, um den Bogen vollständig abhängig zu machen.
tanLine1 Bauteil Dieser Parameter wird verwendet, wenn dieser Bogen tangential zu einer Linie liegen soll. Wird in Verbindung mit dem Parameter onRight1 verwendet, um den Bogen vollständig abhängig zu machen.
tanLine2 Bauteil Dieser Parameter wird verwendet, wenn dieser Bogen tangential zu einer Linie liegen soll. Wird in Verbindung mit dem Parameter onRight2 verwendet, um den Bogen vollständig abhängig zu machen.
thruPoint1 Punkt Der Bogen verläuft durch den angegebenen Punkt.
thruPoint2 Punkt Der Bogen verläuft durch den angegebenen Punkt.
thruPoint3 Punkt Der Bogen verläuft durch den angegebenen Punkt.
inside1 Boolesche Operation 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 Boolesche Operation 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 Boolesche Operation Wenn dieser Bogen von tanArc1 und tanArc2 abhängig ist, legt dieser Parameter die Position des Bogenmittelpunkts fest. Dazu wird zwischen den Mittel punkten 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 Mittel punkt 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 Linien vektor.
onRight2 Boolesche Operation Wenn dieser Bogen von tanLine2 abhängig ist, schränkt dieser Parameter den Mittel punkt 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 End punkt 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 Linien vektor.

Regeln

Name Typ Beschreibung
Bogen Zahl Der absolute Wert des Bogenwinkels von startAngle zu endAngle
endPoint Punkt Punkt beim Winkel endAngle des Bogens.
startPoint Punkt Punkt beim Winkel startAngle des Bogens.
midPoint Punkt Punkt auf dem Bogen zwischen startAngle und endAngle.
protocols Zeichenfolge  
Lotrecht Vektor Normalen vektor des Bogens. Er bildet immer die z-Achse des lokalen Frames.
curveStartParam Zahl Startparameter der Bogenkurve. Der Wert entspricht startAngle.
curveStartParamName Name Name des Kurvenstartparameters. Der Wert entspricht :startAngle.
curveEndParam Zahl Endparameter der Bogenkurve. Der Wert entspricht endAngle.
curveEndParamName Name Name des Kurvenendparameters. Der Wert entspricht :endAngle.
curveClosed? Boolesche Operation  

Methoden

curveParamNearPoint( p As Point ) As Number
Findet den Winkel, der einen Punkt auf der zum eingegebenen Punkt p nächstliegenden Kurve hat.

Gruppenregeln

<diameter> Berechnet den Radius aus dem eingegebenen Durchmesser.

<center> Erstellt den lokalen Frame des Bogens aus dem übergeordneten Frame und platziert ihn auf diesem Mittelpunkt.

<startVector topdir> Berechnet den lokalen Frame aus startVector und topdir.

<tanLine1 tanLine2 onRight1 onRight2> Berechnet die Position des Bogens, wenn er die Tangente von zwei Geraden bildet.

<tanArc1 tanArc2 inside1 inside2 onRight1> Berechnet die Position des Bogens, wenn er davon abhängig ist, dass er die Tangente von zwei Bogen bildet.

<center inside1 tanArc1> Berechnet den Radius des Bogens, wenn er davon abhängig ist, dass er die Tangente eines Bogens bildet und ein Mittelpunkt festgelegt ist.

<center tanLine1> Berechnet den Radius des Bogens, wenn er davon abhängig ist, dass er die Tangente einer Geraden bildet und ein Mittelpunkt festgelegt ist.

<inside1 onRight1 onRight2 tanArc1 tanLine1> Berechnet die Position des Bogens, wenn er die Tangente sowohl einer Geraden als auch eines Bogens bildet.

<thruPoint1 thruPoint2 onRight1> Berechnet die Position des Bogens, wenn er davon abhängig ist, dass er durch zwei Punkte verläuft und der Mittelpunkt entweder rechts oder links von einer Linie liegt, die durch die beiden Punkte verläuft.

<thruPoint1 thruPoint2 thruPoint3> Berechnet den Radius und die Position des Bogens, wenn er davon abhängig ist, dass er durch drei Punkte verläuft.

<thruPoint1 tanLine1 onRight1> Berechnet die Position des Bogens, wenn er davon abhängig ist, dass er die Tangente einer Geraden bildet und durch einen Punkt verläuft.

Beispiel 1

Name: arcMixin_Ex01
Design: ArcMixin acDrawingDocument
Name Typ Formel
od Zahl 2
id Zahl 0.8 * od
endAngle Zahl 15
Radius Zahl 1.5
Untergeordneter Name: outer_circle
Untergeordnetes Design: :Arc
Name Typ Angegeben
center Punkt startPoint
diameter Zahl od
topdir Vektor RotateVector(Vector(0, -1, 0), startAngle, Vector(0, 0, 1))
startVector Vektor RotateVector(Vector(1, 0, 0), startAngle, Vector(0, 0, 1))
Untergeordneter Name: outer_solid
Untergeordnetes Design: : RevolvedSolid
Name Typ Angegeben
Winkel Zahl abs(endAngle - startAngle)
Kurven Liste {outer_circle}
direction Vektor topdir
origin Punkt Mittelpunkt
Untergeordneter Name: inner_circle
Untergeordnetes Design: :Arc
Name Typ Angegeben
center Punkt outer_circle.center
diameter Zahl id
topdir Vektor outer_circle.topdir
startVector Vektor outer_circle.startVector
Untergeordneter Name: inner_solid
Untergeordnetes Design: : RevolvedSolid
Name Typ Angegeben
Winkel Zahl outer_solid.angle
Kurven Liste {inner_circle}
direction Vektor topdir
origin Punkt center
Untergeordneter Name: Ergebnis
Untergeordnetes Design: :BooleanSolid
Name Typ Angegeben
components Liste {outer_solid, inner_solid}
operation Name :Difference

Beispiel 2

Name: arcMixin_Ex02
Design: acDrawingDocument
Name Typ Formel
od Zahl 2.0
id Zahl 1.5
Untergeordneter Name: elbow_1
Untergeordnetes Design: :arcMixin_Ex01
Name Typ Angegeben
id Zahl id
od Zahl od
endAngle Zahl 60
Radius Zahl 5
center Punkt Point(0, 0, Child.radius)
ReferenceFrame Frame frameXY(Child.center, Vector(0, 0, -1), Vector(1, 0, 0))
Untergeordneter Name: elbow_2
Untergeordnetes Design: :arcMixin_Ex01
Name Typ Angegeben
id Zahl id
od Zahl od
endAngle Zahl 180
radius Zahl 2.5
center Punkt elbow_1.endPoint - (elbow_1.normal * Child.radius)
referenceFrame Frame