This design defines a 3D wireframe arc in the host CAD system. The constraints of an arc can be satisfied by providing only a radius (or diameter). The start and end angles are relative to the startVector input of the arc, which defaults to the x axis of the local frame. All angles are positive and there is no requirement that the start angle be less than the end angle. The arc is always traced counterclockwise relative to the normal (right-hand rule in right-handed coordinate system). The constraints of an arc may also be specified by using the Trim() or TrimTan() function to calculate the arc's start or end angles. See Example 4 for curve trimming syntax.
Name | Type | Description |
---|---|---|
radius | number | Radius of the arc. |
startAngle | number | Angle from the local X axis to the start of the arc. The value can range between 360 and -360 degrees. |
endAngle | number | Angle from the local X axis to the end of the arc. The value can range between 360 and -360 degrees and does not have to be greater than startAngle. |
Name | Type | Description |
---|---|---|
center | point | Center point of the underlying circle used to create the arc. |
startVector | vector | Vector used to specify an axis used to measure the start and end angles from. By default this is the local x axis (1,0,0). |
topDir | vector | Vector normal to the plane of the arc. |
diameter | number | Diameter of the arc. This can be input in place of the radius. |
tanArc1 | part | This parameter is used when constraining this arc to be tangent to another arc. The parameters inside1 and onRight1 are used in conjunction to fully constrain this arc. |
tanArc2 | part | This parameter is used when constraining this arc to be tangent to another arc. The parameters inside2 and onRight2 are used in conjunction to fully constrain this arc. |
tanLine1 | part | This parameter is used when constraining this arc to be tangent to a line. The parameter onRight1 is used in conjunction with this parameter to fully constrain the arc. |
tanLine2 | part | This parameter is used when constraining this arc to be tangent to a line. The parameter onRight2 is used in conjunction with this parameter to fully constrain the arc. |
thruPoint1 | point | Constrains the arc to pass through the specified point . |
thruPoint2 | point | Constrains the arc to pass through the specified point . |
thruPoint3 | point | Constrains the arc to pass through the specified point . |
inside1 | boolean | This parameter determines on which side of tanArc1 this arc is located. A value of True will offset this arc toward the center of tanArc1. False will offset this arc away from the center of tanArc1. |
inside2 | boolean | This parameter determines on which side of tanArc2 this arc is located. A value of True will offset this arc toward the center of tanArc2. False will offset this arc away from the center of tanArc2. |
onRight1 | boolean | If this arc is constrained by tanArc1 and tanArc2, this parameter is used to specify the location of the center of this arc. An imaginary line is constructed between the tanArc1 and tanArc2 center points . If onRight1 is True , this arc's center is to the right of the line. And conversely, if onRight1 is False , this arc's center is to the left of the line. When this arc is being constrained by tanLine1 this parameter is used to constrain the center point of this arc. If the value of onRight1 is True , then the center of this arc is placed on the right side of tanLine1. To determine which is the right side of the line, a vector is created from the start to the end point of the line. If a point is on the right, a vector from the start of the line to the point in question will have a negative angle with respect to the line vector . |
onRight2 | boolean | When this arc is being constrained by tanLine2 this parameter is used to constrain the center point of this arc. If the value of onRight2 is True , then the center of this arc is placed on the right side of tanLine2. To determine which is the right side of the line, a vector is created from the start to the end point of the line. If a point is on the right, a vector from the start of the line to the point in question will have a negative angle with respect to the line vector . |
Name | Type | Description |
---|---|---|
arcLength | number | The length of the arc from startAngle to endAngle. |
arc | number | The absolute value of the angle of the arc from startAngle to endAngle. |
endPoint | point | point at the endAngle of the arc. |
curveParamNearPoint( point p ) number Finds the angle that has a point on the curve nearest the input point p.
Name : | arc_Ex01 | |
Design : | acDrawingDocument | |
Name | Type | Formula |
arcAngleList | list |
Dim a As Part Dim lst As List = {} For Each a In Me.Children lst = lst + {a.arc} Next ' a Return lst |
Child Name : | Arc_1 | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | 1 |
Child Name : | Arc_2 | |
Child Design : | :Arc | |
Name | Type | Supplied |
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) |
Child Name : | Arc_3 | |
Child Design : | :Arc | |
Name | Type | Supplied |
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 |
Child Name : | Arc_4 | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | 1 |
center | point | point(0,-10,0) |
Child Name : | Arc_5 | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | 0.5 |
center | point | point(3,-10.5,0) |
Child Name : | Arc_6 | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | 1.5 |
tanArc1 | part | Arc_4 |
tanArc2 | part | Arc_5 |
inside1 | boolean | False |
inside2 | boolean | False |
onRight1 | boolean | False |
Child Name : | Arc_7 | |
Child Design : | :Arc | |
Name | Type | Supplied |
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 |
Child Name : | Line_1 | |
Child Design : | :Line | |
Name | Type | Supplied |
thruPoint1 | point | Point(6.74, -8.44, 0) |
thruPoint2 | point | Point(12.73, -12.15, 0) |
Child Name : | Line_2 | |
Child Design : | :Line | |
Name | Type | Supplied |
thruPoint1 | point | Point(12.66, -8.29, 0) |
thruPoint2 | point | Point(6.81, -12.25, 0) |
Child Name : | Arc_8 | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | 1 |
tanLine1 | part | Line_1 |
tanLine2 | part | Line_2 |
onRight1 | boolean | True |
onRight2 | boolean | False |
Child Name : | Arc_9 | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | 2 |
tanLine1 | part | Line_1 |
tanLine2 | part | Line_2 |
onRight1 | boolean | False |
onRight2 | boolean | True |
Child Name : | Arc_10 | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | 0.5 |
tanLine1 | part | Arc_8 |
tanLine2 | part | Line_1 |
onRight1 | boolean | True |
onRight2 | boolean | True |
Child Name : | Arc_11 | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | 0.5 |
tanLine1 | part | Arc_9 |
tanLine2 | part | Line_1 |
onRight1 | boolean | False |
onRight2 | boolean | True |
Name : | Arc_Ex04 | |
Design : | acDrawingDocument | |
Name | Type | Formula |
PlateThickness | number | 0.125 |
PinRadius | number | 0.125 |
BendRadius | number | 0.25 |
PlateWidth | number | 1.5 |
Child Name : | BottomLine | |
Child Design : | :Line | |
Name | Type | Supplied |
thruPoint1 | point | Me.origin |
thruPoint2 | point | Me.origin + Vector(PlateThickness, 0, 0) |
Child Name : | PinArc | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | PinRadius |
center | point | Point(PlateThickness, PlateWidth, 0) |
startAngle | number | 280 |
endAngle | number | TrimTan(Me.Child, InnerBlendArc) |
Child Name : | OuterArc | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | PinArc.radius + PlateThickness |
center | point | PinArc.center |
startAngle | number | 280 |
endAngle | number | TrimTan(Me.Child. OuterBlendArc) |
Child Name : | OuterBlendArc | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | BendRadius |
tanArc1 | part | OuterArc |
inside1 | boolean | False |
onRight1 | boolean | False |
tanLine1 | part | LeftLine |
onRight2 | boolean | True |
endAngle | number | TrimTan(Me.Child, OuterArc) |
Child Name : | LeftLine | |
Child Design : | :Line | |
Name | Type | Supplied |
thruPoint1 | point | BottomLine.startPoint |
dirVector | vector | Vector(0, 1, 0) |
end | number | TrimTan(Me.Child, OuterBlendArc) |
Child Name : | InnerBlendArc | |
Child Design : | :Arc | |
Name | Type | Supplied |
radius | number | BendRadius |
tanLArc1 | part | PinArc |
inside1 | boolean | False |
onRight1 | boolean | False |
tanLine1 | part | RightLine |
onRight2 | boolean | True |
endAngle | number | TrimTan(Me.Child, PinArc) |
Child Name : | RightLine | |
Child Design : | :Line | |
Name | Type | Supplied |
thruPoint1 | point | OuterArc.startPoint |
dirVector | vector | Vector(0, 1, 0) |
end | number | TrimTan(Me.Child, InnerBlendArc) |
Child Name : | TopLine | |
Child Design : | :Line | |
Name | Type | Supplied |
thruPoint1 | point | OuterArc.startPoint |
thruPoint2 | point | PinArc.startPoint |