CurvePrimitive
| constructor | remarks | json | 
|---|---|---|
| LineSegment3d.create | Simple line segment | {"lineSegment":[[0,0,0],[4,0,0]]} | 
| LineString3d.create | linestring by points | {"lineString":[[0,0,0],[4,0,0],[4,4,0],[0,4,0]]} | 
| Arc3d.createCircularStartMiddleEnd | arc passing through 3 points | {"arc":{"center":[2,2.000000000000001,0],"vectorX":[-2,-2.000000000000001,0],"vectorY":[2.000000000000001,-2,0],"sweepStartEnd":[0,179.99999999999997]}} | 
| Arc3d.create | circular arc | {"arc":{"center":[0,0,0],"vectorX":[4,0,0],"vectorY":[0,4,0],"sweepStartEnd":[-45,90]}} | 
| Arc3d.create | elliptic arc | {"arc":{"center":[0,0,0],"vectorX":[4,0,0],"vectorY":[0,12,0],"sweepStartEnd":[-45,190]}} | 
| BSplineCurve3d.create | curve by poles | {"bcurve":{"points":[[0,0,0],[4,0,0],[4,4,0],[0,4,0]],"knots":[0,0,0,0,1,1,1,1],"closed":false,"order":4}} | 
CurveCollections
| constructor | remarks | json | 
|---|---|---|
| Path.create | path with line, arc, line | {"path":[{"lineSegment":[[4,4,0],[4,0,0]]},{"arc":{"center":[0,0,0],"vectorX":[4,0,0],"vectorY":[0,4,0],"sweepStartEnd":[0,180]}},{"lineSegment":[[-4,4.898587196589413e-16,0],[0,0,0]]}]} | 
| Loop.create | loop with semicircle and diameter segment | {"loop":[{"arc":{"center":[0,0,0],"vectorX":[4,0,0],"vectorY":[0,4,0],"sweepStartEnd":[0,180]}},{"lineSegment":[[-4,4.898587196589413e-16,0],[4,0,0]]}]} | 
| ParityRegion.create | rectangle with semicirular hole | {"parityRegion":[{"loop":[{"lineString":[[-4.5,-4.5,0],[4.5,-4.5,0],[4.5,4.5,0],[-4.5,4.5,0],[-4.5,-4.5,0]]}]},{"loop":[{"arc":{"center":[0,0,0],"vectorX":[4,0,0],"vectorY":[0,4,0],"sweepStartEnd":[0,180]}},{"lineSegment":[[-4,4.898587196589413e-16,0],[4,0,0]]}]}]} | 
SolidPrimitive types
| constructor | remarks | json | 
|---|---|---|
| Sphere.createCenterRadius(center, radius) | full sphere | {"sphere":{"center":[1,1,0],"radius":3}} | 
| Cone.createAxisPoints(centerA, centerB, radiusA, radiusB, capped) | full sphere | {"cone":{"capped":true,"start":[-1,1,0],"end":[3,2,0],"startRadius":1.5,"endRadius":2,"xyVectors":[[-0.24253562503633297,0.9701425001453319,0],[0,0,1]]}} | 
| Box.createDgnBox(cornerA, xVector, yVector, baseX, baseY, topX, topY, capped) | box with sides slanting inward | {"box":{"origin":[-1,1,0],"baseX":4,"baseY":3,"capped":true,"topOrigin":[-1,2,4],"topY":2}} | 
| TorusPipe.createInFrame(frame, majorRadius, minorRadius, sweep, capped) | 90 degree elbos | {"torusPipe":{"center":[1,1,1],"majorRadius":3,"minorRadius":1,"xyVectors":[[0,1,0],[-0.8320502943378437,0,0.5547001962252291]],"sweepAngle":90,"capped":true}} | 
| LinearSweep.create(contour, sweepVector, capped) | swept hexagon | {"linearSweep":{"contour":{"loop":[{"lineString":[[2,0,0],[1.5,0.8660254037844386,0],[0.5,0.8660254037844387,0],[0,0,0],[0.5,-0.8660254037844385,0],[1.5,-0.866025403784439,0],[2,0,0]]}]},"capped":true,"vector":[0,0,4]}} | 
| RotationalSweep.create(contour, axisOfRotation, sweepAngle, capped) | hexagon rotated | {"rotationalSweep":{"axis":[0,1,0],"contour":{"loop":[{"lineString":[[2,0,0],[1.5,0.8660254037844386,0],[0.5,0.8660254037844387,0],[0,0,0],[0.5,-0.8660254037844385,0],[1.5,-0.866025403784439,0],[2,0,0]]}]},"capped":true,"center":[-1,0,0],"sweepAngle":135}} | 
Isolated point
| class name | property name | Minimal Example | 
|---|---|---|
| CoordinateXYZ | isolated point | {"point":[0,0,0]} | 
Last Updated: 10 June, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.