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 Number Radius des Bogens

Parameter

Name Typ Beschreibung
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.
center point Mittelpunkt des dem Bogen zugrunde liegenden Kreises.
startVector Vector Radiusvektor 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. Wird in Verbindung mit den Parametern inside1 und onRight1 verwendet, um den Bogen vollständig abhängig zu machen.
tanArc2 Part 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 Part 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 Part 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 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.

Regeln

Name Typ Beschreibung
arc Number Der absolute Wert des Bogenwinkels von startAngle zu endAngle
endPoint point Punkt beim Winkel endAngle des Bogens
startPoint point Dieser Punkt fällt mit dem Wert startAngle des Bogens zusammen.
midPoint point Punkt auf dem Bogen zwischen startAngle und endAngle
protocols String  
normal Vector Normalenvektor des Bogens. Er bildet immer die z-Achse des lokalen Frames.
curveStartParam Number Startparameter der Bogenkurve. Der Wert entspricht startAngle.
curveStartParamName Name Name des Kurvenstartparameters. Der Wert entspricht :startAngle.
curveEndParam Number Endparameter der Bogenkurve. Der Wert entspricht endAngle.
curveEndParamName Name Name des Kurvenendparameters. Der Wert entspricht :endAngle.
curveClosed? Boolean  

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 Number 2
id Number 0.8 * od
endAngle Number 15
radius Number 1.5
Untergeordneter Name: outer_circle
Untergeordnetes Design: :Arc
Name Typ Angegeben
center point startPoint
diameter Number od
topdir Vector RotateVector(Vector(0, -1, 0), startAngle, Vector(0, 0, 1))
startVector Vector RotateVector(Vector(1, 0, 0), startAngle, Vector(0, 0, 1))
Untergeordneter Name: outer_solid
Untergeordnetes Design: : RevolvedSolid
Name Typ Angegeben
angle Number abs(endAngle - startAngle)
curves list {outer_circle}
direction Vector topdir
origin point center
Untergeordneter Name: inner_circle
Untergeordnetes Design: :Arc
Name Typ Angegeben
center point outer_circle.center
diameter Number id
topdir Vector outer_circle.topdir
startVector Vector outer_circle.startVector
Untergeordneter Name: inner_solid
Untergeordnetes Design: : RevolvedSolid
Name Typ Angegeben
angle Number outer_solid.angle
curves list {inner_circle}
direction Vector topdir
origin point center
Untergeordneter Name: result
Untergeordnetes Design: :BooleanSolid
Name Typ Angegeben
components list {outer_solid, inner_solid}
operation Name :Difference

Beispiel 2

Name: arcMixin_Ex02
Design: acDrawingDocument
Name Typ Formel
od Number 2.0
id Number 1.5
Untergeordneter Name: elbow_1
Untergeordnetes Design: :arcMixin_Ex01
Name Typ Angegeben
id Number id
od Number od
endAngle Number 60
radius Number 5
center point 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 Number id
od Number od
endAngle Number 180
radius Number 2.5 mm
center point elbow_1.endPoint - (elbow_1.normal * Child.radius)
referenceFrame Frame