This design does not define any geometry, but it contains all the rules and methods used to constrain a part that has arc geometry.
ArcMixinModifier
Name | Type | Description |
---|---|---|
radius | number | Radius of the arc. |
Name | Type | Description |
---|---|---|
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. |
center | point | Center point of the underlying circle used to create the arc. |
startVector | vector | Radial 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. Used in conjunction with parameters inside1 and onRight1, to fully constrain the arc. |
tanArc2 | part | This parameter is used when constraining this arc to be tangent to another arc. Used in conjunction with parameters inside2 and onRight2, to fully constrain the arc. |
tanLine1 | part | This parameter is used when constraining this arc to be tangent to a line. Used in conjunction with the parameter onRight1, to fully constrain the arc. |
tanLine2 | part | This parameter is used when constraining this arc to be tangent to a line. Used in conjunction with the parameter onRight2, 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 if the line. 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 |
---|---|---|
arc | number | The absolute value of the angle of the arc, from the startAngle to the endAngle. |
endPoint | point | Point at the endAngle of the arc. |
startPoint | point | Point at the startAngle of the arc. |
midPoint | point | Point on the arc between startAngle and endAngle. |
protocols | string | |
normal | vector | Normal vector of the arc. It is always the z-axis of the local frame. |
curveStartParam | number | Start parameter of the arc curve. The value is the startAngle. |
curveStartParamName | name | Name of the curve start parameter. The value is :startAngle. |
curveEndParam | number | End parameter of the arc curve. The value is the endAngle. |
curveEndParamName | name | Name of the curve end parameter. The value is :endAngle. |
curveClosed? | boolean |
curveParamNearPoint( p As Point ) As NumberFinds the angle that has a point on the curve nearest the input point p.
<diameter> Calculates the radius from the input diameter.
<center> Creates the local frame of the arc from the parent frame, and places at this center.
<startVector topdir> Calculates the local frame from the startVector and topdir.
<tanLine1 tanLine2 onRight1 onRight2> Calculates the location of the arc if it is tangent to two lines.
<tanArc1 tanArc2 inside1 inside2 onRight1> Calculates the location of the arc if it is constrained by being tangent to two arcs.
<center inside1 tanArc1> Calculates the radius of the arc if it is constrained to be tangent to an arc and has a specified center.
<center tanLine1> Calculates the radius of the arc if it is constrained to be tangent to a line and has a specified center.
<inside1 onRight1 onRight2 tanArc1 tanLine1> Calculates the location of the arc if it is tangent to both a line and an arc.
<thruPoint1 thruPoint2 onRight1> Calculates the location of the arc if it is constrained to pass through two points , and the center is either right or left of a line passing through the two points .
<thruPoint1 thruPoint2 thruPoint3> Calculates the radius and location of the arc if it is constrained to pass through three points .
<thruPoint1 tanLine1 onRight1> Calculates the location of the arc if it is constrained to be tangent to a line and passes through a point .
Name : | arcMixin_Ex01 | |
Design : | ArcMixin acDrawingDocument | |
Name | Type | Formula |
od | number | 2 |
id | number | 0.8 * od |
endAngle | number | 15 |
radius | number | 1.5 |
Child Name : | outer_circle | |
Child Design : | :Arc | |
Name | Type | Supplied |
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)) |
Child Name : | outer_solid | |
Child Design : | :RevolvedSolid | |
Name | Type | Supplied |
angle | number | abs(endAngle - startAngle) |
curves | list | {outer_circle} |
direction | vector | topdir |
origin | point | center |
Child Name : | inner_circle | |
Child Design : | :Arc | |
Name | Type | Supplied |
center | point | outer_circle.center |
diameter | number | id |
topdir | vector | outer_circle.topdir |
startVector | vector | outer_circle.startVector |
Child Name : | inner_solid | |
Child Design : | :RevolvedSolid | |
Name | Type | Supplied |
angle | number | outer_solid.angle |
curves | list | {inner_circle} |
direction | vector | topdir |
origin | point | center |
Child Name : | result | |
Child Design : | :BooleanSolid | |
Name | Type | Supplied |
components | list | {outer_solid, inner_solid} |
operation | name | :Difference |
Name : | arcMixin_Ex02 | |
Design : | acDrawingDocument | |
Name | Type | Formula |
od | number | 2.0 |
id | number | 1.5 |
Child Name : | elbow_1 | |
Child Design : | :arcMixin_Ex01 | |
Name | Type | Supplied |
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)) |
Child Name : | elbow_2 | |
Child Design : | :arcMixin_Ex01 | |
Name | Type | Supplied |
id | number | id |
od | number | od |
endAngle | number | 180 |
radius | number | 2.5 |
center | point | elbow_1.endPoint - (elbow_1.normal * Child.radius) |
referenceFrame | frame |