How to add your knowledge
Offset Curve <OffsetCurve>
Synopsis
This design generates a curve offset from another curve. The input curve must be planar. The offset distance may be positive or negative. The "positive side" of the curve is defined as follows: If sidePoint: is provided, then the side the point is on is the positive side. If planeNormal is provided, then the positive side is defined by the vector cross product of the curve tangent and the planeNormal. This is "to the right" if you travel along the curve with "up" in the planeNormal direction.
Canonicals
| Name | Type | Description |
|---|
| curve | part | Curve part to offset. |
| offsetDistance | number | Normal distance from the input curve to the new offset curve. |
Parameters
| Name | Type | Description |
|---|
| planeNormal | vector | Normal vector of the plane used to offset the curve. This is only used to determine the side for positive offset distances, and does not need to be strictly perpendicular to the plane of the curve. |
| surface | part | Surface used to compute the offset vectors for the curve. [This is not yet supported] |
| fillType | name | Algorithm used to fill gaps in the offset curve. Default is Fillet, but choices include Fillet, Tangent, or Natural. |
| sidePoint | point | Used to determine the side for positive offset distances. The point on the curve nearest to sidePoint is used to determine the positive side. |
Example 1
| Name: | offsetCurve_Ex01 |
| Design: | acDrawingDocument |
| Child Name: | baseCurve |
| Child Design: | :SplineCurve |
| Name | Type | Supplied |
| color | string | "blue" |
| pointList | list | {point(2,-2,0), point(4,5,0), point(6,6,0), point(8,6,0)} |
| Child Name: | offsetCurve |
| Child Design: | :OffsetCurve |
| Name | Type | Supplied |
| curve | any | baseCurve |
Example 2
| Name: | offsetCurve_Ex02 |
| Design: | acDrawingDocument |
| Name | Type | Formula |
| ptList | list | Dim i As Integer Dim result As List For i = 1 To 9 result = result + _ {cl.pointAtLength(cl.length / 9 * i)} Next i Return result |
| Child Name: | spine |
| Child Design: | :SplineCurve |
| Name | Type | Supplied |
| color | string | "blue" |
| pointList | list | {point(5,-4,0), point(7,4,0), point(4,7,0)} |
| Child Name: | end |
| Child Design: | :Line |
| Name | Type | Supplied |
| thruPoint1 | point | spine.endPoint |
| thruPoint2 | point | leg.endPoint |
| Child Name: | flange |
| Child Design: | :offsetCurve |
| Name | Type | Supplied |
| curve | part | spine |
| offsetDistance | number | 0.1 |
| Child Name: | leg |
| Child Design: | :OffsetCurve |
| Name | Type | Supplied |
| curve | part | spine |
| offsetDistance | number | 1.0 |
| Child Name: | start |
| Child Design: | :Line |
| Name | Type | Supplied |
| thruPoint1 | point | leg.startPoint |
| thruPoint2 | point | spine.startPoint |
| Child Name: | cl |
| Child Design: | :OffsetCurve |
| Name | Type | Supplied |
| curve | part | spine |
| offsetDistance | number | 0.5 |
| render? | boolean | false |
| Child Name: | pt |
Child List? |
| Child Design: | :Point |
| Name | Type | Supplied |
| quantity | integer | length(ptList) |
| origin | point | nth(child.index, ptList) |
| color | string | "red" |
Comments