Node Registry
This table is interactive on load (search + sortable namespace column) — the rows below are the full registry for readers without JavaScript.
69 nodes total
| # | type | method | label | namespace | args |
|---|---|---|---|---|---|
| 1 | parameter | angle | Angle | Numeric | angleangle= 0 |
| 2 | parameter | boolean | Boolean | Numeric | booleanbinary= 0 |
| 3 | parameter | color | Color | Color | colorcolor= '#ffffff' |
| 4 | parameter | length | Length | Numeric | lengthlength= 0 |
| 5 | parameter | arrayLength | Length List | Numeric | lengthslength[]= [] |
| 6 | parameter | number | Number | Numeric | numbernumber= 0 |
| 7 | parameter | text | Text | Text | textstring= '' |
| 8 | parameter | createMaterial | Material | Material | namestring= 'Material1' Material name, referenced by the applyMaterial operation. Single-quote the literal. baseColorcolor= '#ffffff' Base color as a hex string (#rrggbb). opacitynumber= 1 0 = fully transparent, 1 = opaque. textureimage= '' Image file (data URL or asset URL) tiled across the surface; '' = none. colorFactornumber= 1 Blend texture and baseColor: 0 = texture only, 1 = solid baseColor. |
| 9 | parameter | createLayer | Layer | Layer | namestring= 'Layer1' Layer name, referenced by the applyLayer operation. Single-quote the literal. |
| 10 | parameter | loadModel | Load Model | Asset | inputmodel Sub-model reference (platform id, URL, or data: URI). Loaded once and cached; place copies with the placeModel operation. |
| 11 | producer | clone | Clone | Instance | sourceentity[]= [] Node to copy — adds an independent deep copy with fresh ids to the stream. |
| 12 | producer | addMesh | Mesh | Instance | facesfaceEntity[]= [] Baked face array literal — adds an independent, transformable copy (fresh ids). |
| 13 | producer | placeModel | Place Model | Instance | sourcemodel Model ID to place — adds an independent placement with fresh ids to the stream. |
| 14 | producer | polyline | Polyline | CurveEntity | pointspoint[]= [[ 0 , 0 , 0 ],[ 100 , 0 , 0 ],[ 100 , 0 , 100 ]] Ordered vertices [x,y,z] (z optional, defaults 0). closedbinary= 0 true closes the loop back to the first point; false leaves it open. |
| 15 | producer | spline | Spline | CurveEntity | pointspoint[]= [[ 0 , 0 , 0 ],[ 50 , 0 , 50 ],[ 100 , 0 , 100 ]] Control points [x,y,z] the smooth curve passes through/near. degreenumber= 3 Curve smoothness: 1 = polyline, 2 = quadratic, 3 = cubic (most common). |
| 16 | producer | pointEntity | Render Points | PointEntity | positionspoint[]= [[ 0 , 0 , 0 ]] Marker positions [x,y,z] to visualize (render-only, not construction geometry). |
| 17 | producer | rectangle | Rectangle | CurveEntity | point1point= [0,0,0] One corner of the rectangle. point2point= [100,100,0] Opposite corner. The axis with the smallest difference from Point 1 becomes the rectangle's plane (XY/XZ/YZ) — no separate rotate needed to place it on a different plane. |
| 18 | producer | polygon | Polygon | CurveEntity | centerpoint= [ 0 , 0 ] Polygon center [x,y] in the XY plane. radiuslength= 50 Circumradius — distance from center to each vertex. sidesnumber= 6 Number of edges, minimum 3. |
| 19 | producer | arcCenterStartEnd | Arc (Center) | CurveEntity | centerpoint= [ 0 , 0 ] Arc center [x,y]; the radius = distance from center to start. startPointpoint= [ 10 , 0 ] Where the arc begins; sets the radius. endPointpoint= [ 0 , 10 ] Direction the arc sweeps toward (snapped onto the radius). |
| 20 | producer | arcThreePoints | Arc (3 Points) | CurveEntity | startPointpoint= [ 0 , 0 ] First endpoint the arc passes through. middlePointpoint= [ 5 , 5 ] Point on the arc between start and end (defines the bulge). endPointpoint= [ 10 , 0 ] Last endpoint the arc passes through. |
| 21 | producer | arcTangentEnd | Arc (Tangent) | CurveEntity | axisaxis= { origin: [ 0 , 0 , 0 ], direction: [ 0 , 1 , 0 ] } Start point + leaving tangent direction, as an axis (magnitude irrelevant). endPointpoint= [ 10 , 0 ] Where the arc ends. |
| 22 | producer | circle | Circle | CurveEntity | centerpoint= [ 0 , 0 ] Circle center [x,y] in the XY plane. radiuslength= 10 Circle radius. |
| 23 | producer | ellipseArc | Ellipse Arc | CurveEntity | centerpoint= [ 0 , 0 ] Ellipse center [x,y]. xAxisvector= [ 10 , 0 ] Major-axis vector; its length is the X radius. yAxisvector= [ 0 , 5 ] Minor-axis vector (perpendicular to xAxis); its length is the Y radius. angleangle= 360 Sweep in degrees: 360 = full closed ellipse, under 360 = open arc. |
| 24 | producer | cubicBezier | Cubic Bezier | CurveEntity | startpoint= [ 0 , 0 , 0 ] Start point (on curve). control1point= [ 3 , 10 , 0 ] First tangent control point. control2point= [ 7 , 10 , 0 ] Second tangent control point. endpoint= [ 10 , 0 , 0 ] End point (on curve). |
| 25 | producer | quadraticBezier | Quadratic Bezier | CurveEntity | startpoint= [ 0 , 0 , 0 ] Start point (on curve). controlpoint= [ 5 , 10 , 0 ] Tangent control (pulled toward, not on curve). endpoint= [ 10 , 0 , 0 ] End point (on curve). |
| 26 | producer | nurbsCurve | NURBS Curve | CurveEntity | pointspoint[]= [[ 0 , 0 , 0 ],[ 3 , 5 , 0 ],[ 7 , 5 , 0 ],[ 10 , 0 , 0 ]] Control points [x,y,z] of the hull; the curve is pulled toward them, not through. degreenumber= 3 Polynomial degree (clamped to points.length-1): 1 = polyline, 3 = smooth cubic. knotsnumber[]= [] Knot vector (length = points.length + degree + 1, non-decreasing). Empty = auto clamped-uniform. weightsnumber[]= [] Per-point weight, > 0 (length = points.length). Empty = uniform 1; higher pulls the curve toward that point. |
| 27 | producer | textCurve | Text | CurveEntity | textstring= 'Hello' The string to render as outline curves; single-quote the literal. fontfont Font reference; leave '' to use the built-in fallback font. fontSizelength= 10 Cap height of the glyphs in model units. |
| 28 | producer | extrude | Extrude | FaceEntity | profilepoint[] | curveEntity[] | faceEntity[]= [] Closed loop becomes a solid with caps; open becomes walls. Accepts points, curves, or faces. thicknesslength= 10 Extrusion distance along the profile's normal. capsbinary= 1 1 = closed profiles get top/bottom caps (a solid); 0 = walls only (open shell). |
| 29 | producer | sweep | Sweep | FaceEntity | pathcurveEntity= [] Path the profile is swept along (open or closed curve). profilecurveEntity= [] Closed cross-section curve carried along the path; yields a solid tube. capsbinary= 1 Close the two ends of the swept tube (false = open duct). |
| 30 | producer | loft | Loft | FaceEntity | curvescurveEntity[]= [] Ordered cross-section curves the skin passes through (2 or more). degreeVnumber= 3 Smoothness across sections: 1 = straight (ruled) between curves, 3 = smooth. |
| 31 | producer | revolve | Revolve | FaceEntity | curvescurveEntity[]= [] Profile curve(s) spun about the axis; a closed profile yields a solid. axisaxis= { origin: [ 0 , 0 , 0 ], direction: [ 0 , 0 , 1 ] } Revolution axis (origin on the axis, direction = spin axis). angleangle= 360 Sweep in degrees: 360 = full solid, under 360 = partial. |
| 32 | producer | patchFromCurve | Patch From Curve | FaceEntity | curvescurveEntity[]= [] Boundary curves enclosing the region to fill with a smooth surface. |
| 33 | producer | patchFromCorners | Patch From Corners | FaceEntity | corner0point= [ 0 , 0 , 0 ] First corner [x,y,z]; corners wind in order 0→1→2→3. corner1point= [ 100 , 0 , 0 ] Second corner [x,y,z]. corner2point= [ 100 , 100 , 0 ] Third corner [x,y,z], diagonal from corner 0. corner3point= [ 0 , 100 , 0 ] Fourth corner [x,y,z]. |
| 34 | transform | groupExplode | Explode | Group | nestedbinary= 1 Dissolve this node's nested groups (a placed sub-model / clone) into raw geometry — SketchUp Explode. 1 = recursive; 0 = one level. |
| 35 | transform | looseToGroup | Loose to Groups | Group | — |
| 36 | transform | makeGroup | Make Group | Group | — |
| 37 | transform | curveOffset | Offset Curve | CurveEntity | distancelength= 10 Offset amount: positive = outward, negative = inward. |
| 38 | transform | curveThicken | Thicken Curve | CurveEntity | distancelength= 10 Strip width (the curve is offset half this to each side). joinTypestring= 'miter' roundmitersquare How outer corners are joined: 'round' (arc), 'miter' (sharp point), 'square' (clipped). endTypestring= 'round' roundsquarebutt How open ends are capped: 'round' (semicircle), 'square' (half-width), 'butt' (flush). |
| 39 | transform | curveUnion | Curve Union | CurveEntity | curvecurveEntity The closed curve to merge with this one (2D boolean). |
| 40 | transform | curveSubtract | Curve Subtract | CurveEntity | curvecurveEntity The closed curve to cut away from this one (2D boolean). |
| 41 | transform | curveIntersect | Curve Intersect | CurveEntity | curvecurveEntity The closed curve to keep only the overlap with (2D boolean). |
| 42 | transform | solidUnion | Solid Union | FaceEntity | solidfaceEntity[] The closed solid (Face[]) to fuse with this one (3D CSG). |
| 43 | transform | solidSubtract | Solid Subtract | FaceEntity | solidfaceEntity[] The closed solid (Face[]) to carve out of this one (3D CSG). |
| 44 | transform | solidIntersect | Solid Intersect | FaceEntity | solidfaceEntity[] The closed solid (Face[]); keeps only the volume shared by both (3D CSG). |
| 45 | transform | solidSelfUnion | Solid Self Union | FaceEntity | — |
| 46 | transform | curveSelfUnion | Curve Self Union | CurveEntity | — |
| 47 | transform | curveExtrude | Extrude | CurveEntity | thicknesslength= 10 Extrusion distance along the profile's normal. capsbinary= 1 1 = closed profiles get top/bottom caps (a solid); 0 = walls only (open shell). |
| 48 | transform | faceLattice | Lattice | FaceEntity | thicknesslength= 2 Strut/wall thickness of the lattice shell. boundarybinary= 1 Close the open border edges of the lattice with caps. |
| 49 | transform | faceExtrude | Face Extrude | FaceEntity | thicknesslength= 10 Distance to push the selected faces along their normal (negative = inward). faceFilterfunction= (points, normal) => true Predicate over a face's points and normal selecting which faces to push; default = all. |
| 50 | transform | edgeFillet | Edge Fillet | FaceEntity | edgeFilterfunction= (p1, p2) => true Predicate over an edge's two endpoints selecting which edges to round; default = all. radiuslength= 2 Rolling-ball arc radius of the rounded edge (curved). segmentsnumber= 12 Number of facets across the arc; higher = smoother. |
| 51 | transform | edgeChamfer | Edge Chamfer | FaceEntity | edgeFilterfunction= (p1, p2) => true Predicate over an edge's two endpoints selecting which edges to cut; default = all. distancelength= 2 Flat-cut setback from the edge (a straight 45°-style bevel, not an arc). |
| 52 | transform | arrayLinear | Linear Array | Instance | vectorvector= [ 100 , 0 , 0 ] Per-copy step — magnitude IS the spacing (unlike Array Along Distances, where direction is normalized). copiesnumber= 2 Copies to add — the original stays, so 1 duplicates once. |
| 53 | transform | arrayRadial | Radial Array | Instance | axisaxis= { origin: [ 0 , 0 , 0 ], direction: [ 0 , 0 , 1 ] } Rotation axis: origin = pivot point, direction = spin axis. copiesnumber= 5 Copies to add around the axis — original + copies spaced evenly over 360°. |
| 54 | transform | arrayCurve | Array Along Curve | Instance | curvecurveEntity Path curve the copies are distributed along. copiesnumber= 4 Copies to add along the curve — original at the start, spaced evenly. angleangle= 0 Extra rotation in degrees applied to each copy about the curve tangent. |
| 55 | transform | arrayDistances | Array by Distances | Instance | directionvector= [ 1 , 0 , 0 ] Direction to array along — magnitude ignored, see Distances for spacing. distanceslength[]= [ 300 , 400 , 500 ] Gap after each copy, in order, along Direction. Copy count = number of distances (a partition — no separate Copies arg). |
| 56 | transform | mirror | Mirror | Instance | planeplane= { point: [ 0 , 0 , 0 ], normal: [ 1 , 0 , 0 ] } Mirror plane (point on plane + normal). clonebinary= 1 1 keeps the original and adds the reflection; 0 flips in place. |
| 57 | transform | move | Move | Instance | vectorvector= [ 0 , 0 , 1 ] Displacement to apply. |
| 58 | transform | rotate | Rotate | Instance | axisaxis= { origin: [ 0 , 0 , 0 ], direction: [ 0 , 0 , 1 ] } Rotation axis (origin = pivot point, direction = axis; magnitude irrelevant). angleangle | fn= 0 Rotation angle in degrees (CCW about the axis), or a callback (entity, index) => number, per entity. |
| 59 | transform | resize | Resize | Instance | sizeXlength | fn= 1 Target width along X, or a callback (entity, index) => number, per entity. sizeYlength | fn= 1 Target depth along Y, or a callback (entity, index) => number, per entity. sizeZlength | fn= 1 Target height along Z, or a callback (entity, index) => number, per entity. |
| 60 | transform | curveReverse | Reverse | CurveEntity | enabledbinary= 1 true flips direction (curve order / face normal); false leaves it. |
| 61 | transform | faceReverse | Reverse | FaceEntity | enabledbinary= 1 true flips direction (curve order / face normal); false leaves it. |
| 62 | transform | applyMaterial | Material | Instance | namestring | fn= 'Material1' Material name to assign (single-quote literals), or a callback (entity, index) => string, per entity. |
| 63 | transform | applyLayer | Layer | Instance | namestring | fn= 'Layer1' Layer name to assign (single-quote literals), or a callback (entity, index) => string, per entity. |
| 64 | transform | visible | Visible | Instance | enabledbinary | fn= true true shows, false hides the entities; or a callback (entity, index) => boolean, per entity. |
| 65 | transform | name | Name | Instance | namestring | fn= '' Display/export name tag (single-quote literals), or a callback (entity, index) => string, per entity. |
| 66 | transform | curveSplit | Curve Split | CurveEntity | parameternumber= 0.5 Normalized split position from start (0) to end (1). |
| 67 | transform | curveFillet | Curve Fillet | CurveEntity | radiuslength= 5 Arc radius rounding each selected corner (curved). vertexFilterfunction= (p, i) => true Predicate over a corner vertex and its index selecting which to round; default = all. |
| 68 | transform | curveChamfer | Curve Chamfer | CurveEntity | distancelength= 5 Straight setback from each selected corner (flat cut, not an arc). vertexFilterfunction= (p, i) => true Predicate over a corner vertex and its index selecting which to cut; default = all. |
| 69 | transform | faceOffset | Offset Face | FaceEntity | distancelength= 10 Inset (positive) or outset (negative) distance. |