Arc

Synopsis

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.

Mixins

ArcMixin

CurveMixin

InkStrokedMixin

Canonicals

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.

Parameters

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 .

Rules

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.

Methods

curveParamNearPoint( point p ) number Finds the angle that has a point on the curve nearest the input point p.

Example 1

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)

Example 2

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

Example 3

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

Example 4

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