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.

Mixins

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"