@huukhanhnguyen/model / nodeMethods/curve
nodeMethods/curve
curveOffset
constcurveOffset: (curves,distance) =>CurveData[] & {wholeArray:true; }
curveThicken
constcurveThicken: (curves,distance,joinType,endType) =>CurveData[] & {wholeArray:true; }
arcCenterStartEnd()
arcCenterStartEnd(
center,start,end):CurveData
Parameters
center
number[]
start
number[]
end
number[]
Returns
arcTangentEnd()
arcTangentEnd(
axis,end):CurveData
Parameters
axis
end
number[]
Returns
arcThreePoints()
arcThreePoints(
start,middle,end):CurveData
Parameters
start
number[]
middle
number[]
end
number[]
Returns
circle()
circle(
center,radius):CurveData
Parameters
center
number[]
radius
number
Returns
closestPoint()
closestPoint(
curve,point):Point
Parameters
curve
point
Returns
cubicBezier()
cubicBezier(
start,control1,control2,end):CurveData
Parameters
start
number[]
control1
number[]
control2
number[]
end
number[]
Returns
curveChamfer()
curveChamfer(
curve,distance,vertexFilter?):CurveData
Parameters
curve
distance
number
vertexFilter?
(p, i) => boolean
Returns
curveFillet()
curveFillet(
curve,radius,vertexFilter?):CurveData
Parameters
curve
radius
number
vertexFilter?
(p, i) => boolean
Returns
curveFromFace()
curveFromFace(
source):CurveData
Closed curves from a referenced node's face boundary loops — one curve per ring, outer ring and hole rings alike. The source arg coercion already flattens nested blocks into face atoms; anything that is not a face is ignored. Each curve carries its face's material/layer.
Parameters
source
unknown
Returns
curveFunction()
curveFunction(
point,samples?,degree?,closed?):CurveData
Sample a parametric callback t ∈ [0,1] into an interpolated curve — the FORMULA producer for shapes no fixed primitive covers (helix, spiral, sine profile, involute). degree 1 = exact polyline through the samples; higher = smooth spline interpolation. closed samples the open range and joins back to the start — author the callback with matching endpoints (seam smoothness is the formula's own job, C0 is guaranteed).
Parameters
point
(t) => number[]
samples?
number = 64
degree?
number = 3
closed?
number | boolean
Returns
curveIntersect()
curveIntersect(
self,curve):CurveData[]
Parameters
self
unknown
curve
unknown
Returns
curveOvercut()
curveOvercut(
curve,radius,type?,reduction?,vertexFilter?):CurveData
Parameters
curve
radius
number
type?
"dogbone" | "longTbone" | "shortTbone"
reduction?
number = 0
vertexFilter?
(p, i) => boolean
Returns
curveProject()
curveProject(
curve,target,direction?):CurveData[]
Parameters
curve
unknown
target
unknown
direction?
number[] = ...
Returns
curveSelfUnionImpl()
curveSelfUnionImpl(
curves):CurveData[]
Parameters
curves
unknown
Returns
curveSimplify()
curveSimplify(
curve,tolerance?):CurveData
Parameters
curve
unknown
tolerance?
number = 1
Returns
curveSmooth()
curveSmooth(
curve,iterations?):CurveData
Parameters
curve
unknown
iterations?
number = 2
Returns
curveSplit()
curveSplit(
curve,parameter):CurveData[]
Parameters
curve
parameter
number
Returns
curveSubtract()
curveSubtract(
self,curve):CurveData[]
Parameters
self
unknown
curve
unknown
Returns
curveUnion()
curveUnion(
self,curve):CurveData[]
Parameters
self
unknown
curve
unknown
Returns
curveVertexDelete()
curveVertexDelete(
curve,filter):CurveData
Parameters
curve
unknown
filter
unknown
Returns
curveVertexMove()
curveVertexMove(
curve,filter,vector):CurveData
Parameters
curve
unknown
filter
unknown
vector
number[]
Returns
curveVertexRotate()
curveVertexRotate(
curve,filter,axis,angle):CurveData
Parameters
curve
unknown
filter
unknown
axis
angle
number
Returns
curveVertexScale()
curveVertexScale(
curve,filter,center,factor):CurveData
Parameters
curve
unknown
filter
unknown
center
number[]
factor
number
Returns
divide()
divide(
curve,count):Point[]
Parameters
curve
count
number
Returns
Point[]
ellipseArc()
ellipseArc(
center,xAxis,yAxis,angle?):CurveData
Parameters
center
number[]
xAxis
number | number[]
yAxis
number | number[]
angle?
number = 360
Returns
endPoint()
endPoint(
curve):Point
Parameters
curve
Returns
length()
length(
curve):number
Parameters
curve
Returns
number
nurbsCurve()
nurbsCurve(
points,degree?,knots?,weights?):CurveData
Parameters
points
number[][]
degree?
number = 3
knots?
number[] = []
weights?
number[] = []
Returns
placeGlyphsAlongPath()
placeGlyphsAlongPath(
glyphs,path):CurveData[]
Parameters
glyphs
path
Returns
pointAt()
pointAt(
curve,parameter):Point
Parameters
curve
parameter
number
Returns
pointAtLength()
pointAtLength(
curve,distance):Point
Parameters
curve
distance
number
Returns
polygon()
polygon(
center,radius,sides):CurveData
Parameters
center
number[]
radius
number
sides
number
Returns
polyline()
polyline(
points,closed?):CurveData
[x, y, z, ...] — the flat run every kernel point list crosses as.
Parameters
points
number[][]
closed?
boolean = false
Returns
quadraticBezier()
quadraticBezier(
start,control,end):CurveData
Parameters
start
number[]
control
number[]
end
number[]
Returns
rectangle()
rectangle(
point1,point2):CurveData
Parameters
point1
number[]
point2
number[]
Returns
revisionCloud()
revisionCloud(
boundary,bumpRadius?,bumpSpacing?):CurveData
Parameters
boundary
number[][]
bumpRadius?
number = 15
bumpSpacing?
number = 40
Returns
spline()
spline(
points,degree?):CurveData
Parameters
points
number[][]
degree?
number = 3
Returns
startPoint()
startPoint(
curve):Point
Parameters
curve
Returns
tangentAt()
tangentAt(
curve,parameter):Vector
Parameters
curve
parameter
number
Returns
textCurve()
textCurve(
content,font,fontSize,width?):CurveData[]
Parameters
content
string
font
FontData | null | undefined
fontSize
number
width?
number = 0
Returns
textOnPath()
textOnPath(
path,content,font,fontSize?):CurveData[]
Parameters
path
unknown
content
string
font
FontData | null | undefined
fontSize?
number = 20
Returns
toPoints()
toPoints(
curve,tolerance?):Point[]
Adaptive tessellation vertices (every segment break, refined by chord-deviation tolerance in mm) — a polyline's own vertices come back exactly, a curved arc gets subdivided to the tolerance ASKED FOR. Used for snap-point collection.
Parameters
curve
tolerance?
number = DEFAULT_CURVE_TOLERANCE
Returns
Point[]
voronoi
Re-exports voronoi