← Ecky CAD / Ecky Language Reference

REFERENCE / 16

Complete Compiler Surface

Generated from the same Rust registry used by MCP manifests and agent prompts. Do not edit rows by hand; run npm run generate:prompt.

FormKindSignatureBackendsDescriptionExample
*numericHelper(* a b...)freecad, legacy-build123d, mesh/nativeMultiplies numbers.(* radius 2)
+numericHelper(+ a b...)freecad, legacy-build123d, mesh/nativeAdds numbers.(+ width clearance)
-numericHelper(- a b...)freecad, legacy-build123d, mesh/nativeSubtracts numbers or negates one number.(- outer inner)
/numericHelper(/ a b...)freecad, legacy-build123d, mesh/nativeDivides numbers.(/ width 2)
<booleanHelper(< a b)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(< 2 1)
<=booleanHelper(<= a b)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(<= 2 1)
=booleanHelper(= a b)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(= 2 1)
>booleanHelper(> a b)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(> 2 1)
>=booleanHelper(>= a b)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(>= 2 1)
absnumericHelper(abs value)freecad, legacy-build123d, mesh/nativeReturns absolute value.(abs offset)
analysismodelClause(analysis id analysis-clause...)freecad, legacy-build123d, mesh/nativeDeclares an authored FEM/engineering analysis contract tied to model parts and selector tags.(analysis load-case (linear-static :part body) (fixed :face-tag mounting) (solve :method direct))
andbooleanHelper(and value...)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(and true false)
appendexpressionForm(append list...)freecad, legacy-build123d, mesh/nativeConcatenates lists.(append front-points back-points)
applyexpressionForm(apply fn args)freecad, legacy-build123d, mesh/nativeCalls a function with arguments from a list.(apply union cutters)
arc-arraycadOp(arc-array count radius start-angle end-angle geometry)freecad, legacy-build123d, mesh/nativeRepeats geometry along an arc.(arc-array 8 30 0 180 notch)
atannumericHelper(atan value)freecad, legacy-build123d, mesh/nativeSingle-argument arctangent returning radians.(atan slope)
atan2numericHelper(atan2 y x)freecad, legacy-build123d, mesh/nativeTwo-argument arctangent returning radians.(atan2 y x)
attractor-fieldwallPatternModeattractor-fieldmesh/nativeSeeded chaotic attractor-style field.(wall-pattern (:mode attractor-field :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
beginmodelWrapper(begin clause...)freecad, legacy-build123d, mesh/nativeGroups multiple model clauses where a single clause position is expected.(model (begin (params ...) (part body ...)))
bezier-pathcadOp(bezier-path points)freecad, legacy-build123d, mesh/nativeBuilds a Bezier path from control points.(bezier-path points)
boxcadOp(box x y z :align '(x y z))freecad, legacy-build123d, mesh/nativeCreates an axis-aligned rectangular solid.(box 40 20 10 :align '(min center min))
bsplinecadOp`(bspline points :closed #t\#f)`freecad, legacy-build123d, mesh/nativeBuilds a 2D B-spline sketch from control points.(bspline points :closed #t)
buildcadOp(build expr...)freecad, legacy-build123d, mesh/nativeBuild container for grouped construction forms.(build (shape body) (result body))
cell-distance2numericHelper(cell-distance2 x y seed)freecad, legacy-build123d, mesh/nativeDistance-like deterministic value to nearest jittered cellular site.(cell-distance2 x y seed)
cellularwallPatternModecellularmesh/nativeSeeded cellular/Voronoi-like displacement field.(wall-pattern (:mode cellular :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
chamfercadOp(chamfer distance [:edges selector] solid)freecad, legacy-build123d, mesh/nativeBevels edges of a solid. \:edges\ accepts coarse selectors like \bottom\, \front\, \axis-z\, \y-max\, or \x-min+z-max\; exact backends also accept \target-id:&lt;id&gt;\ and \`target-ids:<id>\<id>\`.(chamfer 1 :edges &quot;bottom&quot; body)
circlecadOp(circle radius segments)freecad, legacy-build123d, mesh/nativeCreates a circular sketch/profile.(circle 20 64)
clampnumericHelper(clamp value min max)freecad, legacy-build123d, mesh/nativeConstrains value to a numeric interval.(clamp depth 0 3)
clip-boxcadOp(clip-box geometry :x '(min max) :y '(min max) :z '(min max))freecad, legacy-build123d, mesh/nativeClips geometry by an axis-aligned box.(clip-box body :x '(0 100) :y '(-30 30) :z '(0 40))
clip-planecadOp`(clip-plane geometry :origin '(x y z) :normal '(x y z) [:keep positive\negative])`freecad, legacy-build123d, mesh/nativeClips geometry against an oriented plane.(clip-plane body :origin '(0 0 10) :normal '(0 0 1) :keep positive)
commoncadOp(common solid...)freecad, legacy-build123d, mesh/nativeKeeps shared volume of solids.(common a b)
compoundcadOp(compound geometry...)freecad, legacy-build123d, mesh/nativeGroups geometry without fusing into one solid.(compound body bolts)
concat-mapexpressionForm(concat-map fn list)freecad, legacy-build123d, mesh/nativeMaps each item to a list and concatenates the results.(flat-map (lambda (i) (list i (- i))) (range 3))
conecadOp(cone r1 r2 height segments)freecad, legacy-build123d, mesh/nativeCreates a cone or tapered cylinder along local Z.(cone 12 6 30 48)
cosnumericHelper(cos radians)freecad, legacy-build123d, mesh/nativeTrigonometric helper using radians.(cos (deg-&gt;rad 45))
cubenumericHelper(cube value)freecad, legacy-build123d, mesh/nativeRaises a number to a small fixed power.(cube radius)
cutcadOp(cut base cutter...)freecad, legacy-build123d, mesh/nativeSubtracts cutter solids from a base solid.(cut body hole)
cylindercadOp(cylinder radius height segments)freecad, legacy-build123d, mesh/nativeCreates a cylinder along local Z.(cylinder 8 30 48)
defineexpressionForm(define name value)freecad, legacy-build123d, mesh/nativeDefines a helper value or function in expression scope.(define wall 2)
define-componentcomponentPlacementForm(define-component id (signature...) [(ports ...)] [(verify ...)] geometry)freecad, legacy-build123d, mesh/nativeDeclares closed reusable local geometry and optional ports.(define-component latch () (ports (port mount :type &quot;mount.v1&quot; :frame (frame :origin '(0 0 0) :x-axis '(1 0 0) :z-axis '(0 0 1)))) (box 20 4 2))
degnumericHelper(deg radians)freecad, legacy-build123d, mesh/nativeConverts radians to degrees.(deg angle-rad)
deg-&gt;radnumericHelper(deg-&gt;rad degrees)freecad, legacy-build123d, mesh/nativeConverts degrees to radians.(deg-&gt;rad 90)
diamondwallPatternModediamondmesh/nativeCross-hatched diamond displacement field.(wall-pattern (:mode diamond :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
diamond-fieldwallPatternModediamond-fieldmesh/nativeAlias-style diamond periodic implicit field.(wall-pattern (:mode diamond-field :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
differencecadOp(difference base cutter...)freecad, legacy-build123d, mesh/nativeSubtracts cutter solids from a base solid.(difference body hole)
draftcadOp(draft angle solid)freecad, legacy-build123d, mesh/nativeApplies a draft angle to a solid.(draft 2deg body)
ellipsecadOp(ellipse rx ry)freecad, legacy-build123d, mesh/nativeCreates an elliptical 2D profile with radii along X and Y.(ellipse 10 4)
empty?booleanHelper(empty? value)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(empty? '())
endcoreConstantendfreecad, legacy-build123d, mesh/nativeSymbolic endpoint accepted by path-frame \:at\.(path-frame rail :at end :up '(0 0 1))
enumerateexpressionForm(enumerate list)freecad, legacy-build123d, mesh/nativePairs each index with its list item.(map (lambda ((index value)) (list index value)) (enumerate (range 4)))
even?booleanHelper(even? number)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(even? 2)
extrudecadOp`(extrude sketch height :symmetric #t\#f)`freecad, legacy-build123d, mesh/nativeExtrudes a 2D sketch along local +Z unless symmetric is enabled.(extrude (polygon points) 8)
falsecoreConstantfalsefreecad, legacy-build123d, mesh/nativeBoolean constant equivalent to \#t\ or \#f\.(if false body fallback)
fbmwallPatternModefbmmesh/nativeFractal noise displacement field.(wall-pattern (:mode fbm :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
fbm2numericHelper(fbm2 x y seed octaves lacunarity gain)freecad, legacy-build123d, mesh/nativefractal Brownian motion built from deterministic noise2 octaves.(fbm2 x y seed 4 2.0 0.5)
featuremodelClause(feature id :role role [:params (key...)] geometry)freecad, legacy-build123d, mesh/nativeDeclares renderable geometry plus semantic role and primary control metadata.(feature shell :role enclosure :params (width wall) (box width 40 wall))
filletcadOp(fillet radius [:edges selector] solid)freecad, legacy-build123d, mesh/nativeRounds edges of a solid. \:edges\ accepts coarse selectors like \top\, \left\, \axis-z\, \x-min\, or \x-min+z-max\; exact backends also accept \target-id:&lt;id&gt;\ and \`target-ids:<id>\<id>\`.(fillet 2 :edges &quot;x-min+z-max&quot; body)
filterexpressionForm(filter fn list)freecad, legacy-build123d, mesh/nativeKeeps list items where predicate returns true.(filter (lambda (i) (even? i)) (range 8))
flat-mapexpressionForm(flat-map fn list)freecad, legacy-build123d, mesh/nativeMaps each item to a list and concatenates the results.(flat-map (lambda (i) (list i (- i))) (range 3))
floornumericHelper(floor value)freecad, legacy-build123d, mesh/nativeRounds down to an integer-valued number.(floor segments)
foldexpressionForm(fold fn initial list)freecad, legacy-build123d, mesh/nativeReduces a list into a single accumulated value.(fold + 0 (range 5))
for-compoundcadOp(for-compound list fn)freecad, legacy-build123d, mesh/nativeMaps list values to geometry and compounds the result.(for-compound points (lambda (p) ...))
for-unioncadOp(for-union list fn)freecad, legacy-build123d, mesh/nativeMaps list values to solids and unions the result.(for-union (range 6) (lambda (i) ...))
fourierwallPatternModefouriermesh/nativeLayered sine/cosine Fourier-style displacement field.(wall-pattern (:mode fourier :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
framecomponentPlacementForm(frame :origin '(x y z) :x-axis '(x y z) :z-axis '(x y z))freecad, legacy-build123d, mesh/nativeDefines origin/x/z; derives y as z cross x.(frame :origin '(50 0 15) :x-axis '(0 1 0) :z-axis '(1 0 0))
fusecadOp(fuse solid...)freecad, legacy-build123d, mesh/nativeBoolean union/fuse of solids.(fuse a b c)
grid-arraycadOp(grid-array rows cols dx dy geometry)freecad, legacy-build123d, mesh/nativeRepeats geometry on a 2D grid.(grid-array 3 5 12 12 hole)
groovecadOp(groove solid profile path)freecad, legacy-build123d, mesh/nativeRemoves material: sweeps \profile\ along \path\ and subtracts it from \solid\.(groove (box 20 20 20) (circle 3) (path (0 0 0) (0 0 30)))
gyroidwallPatternModegyroidmesh/nativetriply periodic gyroid implicit field.(wall-pattern (:mode gyroid :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
hammeredwallPatternModehammeredmesh/nativeSeeded hammered texture using deterministic noise.(wall-pattern (:mode hammered :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
hash-signednumericHelper(hash-signed x y seed)freecad, legacy-build123d, mesh/nativeDeterministic signed hash value for offsets and jitter.(hash-signed ix iy seed)
hash01numericHelper(hash01 x y seed)freecad, legacy-build123d, mesh/nativeDeterministic hash value in the 0..1 range for procedural variation.(hash01 ix iy seed)
heightfieldcadOp`(heightfield image-path :width w :depth d :relief-height h :base-thickness b [:invert #t\#f])`mesh/nativeSamples a staged local raster into a bounded planar relief and closes its base and side walls.(heightfield image-path :width 100 :depth 70 :relief-height 4 :base-thickness 1.2 :invert #f)
helical-ridgecadOp(helical-ridge :radius r :pitch p :height h :base-width w :crest-width w :depth d [:female #t] [:clearance c] [:lefthand #t])freecad, legacy-build123d, mesh/nativeCreates a printable trapezoid ridge swept along a cylindrical helix.(helical-ridge :radius 32 :pitch 5.25 :height 16.8 :base-width 1.45 :crest-width 0.55 :depth 1.5)
henon-pointspointListHelper(henon-points count scale)freecad, legacy-build123d, mesh/nativeSamples deterministic Henon map points.(henon-points 100 12)
hullcadOp(hull solid...)mesh/nativeConvex hull of the child solids as a single closed BREP solid.(hull (sphere 6) (translate 30 0 0 (sphere 6)))
ifexpressionForm(if condition then else)freecad, legacy-build123d, mesh/nativeChooses between two expressions from a boolean condition.(if useCap (sphere r) (cylinder r h))
import-stepcadOp(import-step path)mesh/nativeImports an exact STEP payload through native Direct OCCT.(import-step &quot;/absolute/path/component.step&quot;)
import-stlcadOp`(import-stl path [:target-triangles n :max-error d [:preserve-boundaries #t\#f]])`freecad, legacy-build123d, mesh/nativeImports an STL file as geometry. Optional preparation keywords keep the raw source and derive a bounded indexed mesh.(import-stl &quot;/tmp/part.stl&quot; :target-triangles 4000 :max-error 0.05 :preserve-boundaries #t)
intersectioncadOp(intersection solid...)freecad, legacy-build123d, mesh/nativeKeeps shared volume of solids.(intersection a b)
invlerpnumericHelper(invlerp start end value)freecad, legacy-build123d, mesh/nativeMaps a value from an interval to its unbounded interpolation factor.(invlerp 0 100 height)
jitter2pointListHelper(jitter2 x y amount seed)freecad, legacy-build123d, mesh/nativeReturns a deterministic jittered 2D point from a base coordinate.(jitter2 10 20 2 seed)
jittered-gridpointListHelper(jittered-grid rows cols dx dy amount seed)freecad, legacy-build123d, mesh/nativeBuilds a deterministic grid of jittered 2D points.(jittered-grid 4 6 12 12 2 seed)
lambdaexpressionForm(lambda (arg...) body)freecad, legacy-build123d, mesh/nativeCreates an anonymous function for map/filter/fold helpers.(lambda (i) (translate (* i pitch) 0 0 cutter))
lerpnumericHelper(lerp a b t)freecad, legacy-build123d, mesh/nativeLinear interpolation from a to b by t.(lerp 10 20 0.25)
letmodelWrapper(let ((name value)...) clause...)freecad, legacy-build123d, mesh/nativeBinds model-level constants for following clauses; bindings in one let are parallel.(model (let ((r 20)) (part body (sphere r))))
let*modelWrapper(let* ((name value)...) clause...)freecad, legacy-build123d, mesh/nativeSequential model-level binding form; later bindings can use earlier bindings.(model (let* ((r 20) (h (* r 3))) (part body (cylinder r h))))
linear-arraycadOp(linear-array count dx dy dz geometry)freecad, legacy-build123d, mesh/nativeRepeats geometry in a linear sequence.(linear-array 4 12 0 0 rib)
linspaceexpressionForm(linspace start end count)freecad, legacy-build123d, mesh/nativeBuilds evenly spaced samples including endpoints.(linspace 0 360 12)
listexpressionForm(list value...)freecad, legacy-build123d, mesh/nativeBuilds a list value.(list x y z)
list?booleanHelper(list? value)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(list? '())
locationcadOp(location frame :offset '(x y z) :rotate '(x y z))freecad, legacy-build123d, mesh/nativeCreates a placement from a frame and optional local transform.(location (plane :origin '(80 0 6)) :rotate '(0 90 0))
loftcadOp(loft sketch...)freecad, legacy-build123d, mesh/nativeCreates a solid through multiple sketch sections.(loft bottom top)
logistic-bifurcation-pointspointListHelper(logistic-bifurcation-points r-count samples transient scale)freecad, legacy-build123d, mesh/nativeBuilds deterministic points from the logistic map bifurcation diagram.(logistic-bifurcation-points 24 8 16 30)
lorenz-pointspointListHelper(lorenz-points count dt scale)freecad, legacy-build123d, mesh/nativeSamples a deterministic Lorenz attractor projection.(lorenz-points 80 0.01 4)
make-facecadOp(make-face sketch)freecad, legacy-build123d, mesh/nativeTurns a closed sketch into a face-like profile for downstream ops.(make-face (polygon points))
mapexpressionForm(map fn list ...)freecad, legacy-build123d, mesh/nativeTransforms each list item with a function.(map (lambda (i) (* i 10)) (range 4))
maxnumericHelper(max a b...)freecad, legacy-build123d, mesh/nativeReturns largest number.(max wall 1.2)
meshcadOp(mesh :vertices ((x y z) ...) :triangles ((a b c) ...))mesh/nativeCreates bounded indexed triangle geometry. Open orientable surfaces are allowed; invalid indices, degenerate faces, duplicates, non-manifold edges, or inconsistent winding reject.(mesh :vertices ((0 0 0) (10 0 0) (0 10 0)) :triangles ((0 1 2)))
mesh-anchorcadOp(mesh-anchor triangle-index barycentric-0 barycentric-1 barycentric-2)mesh/nativeDeclares one exact triangle seed used inside a native mesh \surface-trim\ path.(mesh-anchor 42 0.2 0.3 0.5)
metamodelClause(meta key value)freecad, legacy-build123d, mesh/nativeStores model metadata such as labels, intent, or semantic hints.(meta :title &quot;Bottle cage&quot;)
minnumericHelper(min a b...)freecad, legacy-build123d, mesh/nativeReturns smallest number.(min wall max-wall)
mirrorcadOp(mirror axis offset geometry)freecad, legacy-build123d, mesh/nativeMirrors geometry across the \x\, \y\, or \z\ plane at offset.(mirror &quot;x&quot; 0 body)
neoviuswallPatternModeneoviusmesh/nativeTriply periodic Neovius implicit field.(wall-pattern (:mode neovius :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
noise2numericHelper(noise2 x y seed)freecad, legacy-build123d, mesh/nativesmooth deterministic value noise sampled at 2D coordinates.(noise2 (* x 0.1) (* y 0.1) seed)
notbooleanHelper(not value)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(not false)
null?booleanHelper(null? value)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(null? '())
odd?booleanHelper(odd? number)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(odd? 2)
offsetcadOp(offset distance sketch)freecad, legacy-build123d, mesh/nativeOffsets a sketch/profile by distance.(offset 2 profile)
offset-roundedcadOp(offset-rounded distance sketch)freecad, legacy-build123d, mesh/nativeOffsets a sketch with rounded joins where supported.(offset-rounded 2 profile)
orbooleanHelper(or value...)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(or true false)
organic-looppointListHelper(organic-loop count radius amount seed)freecad, legacy-build123d, mesh/nativeBuilds a deterministic irregular loop around a radius.(organic-loop 32 30 4 seed)
paramsmodelClause(params control...)freecad, legacy-build123d, mesh/nativeDeclares user-visible controls and default parameter values for the model.(params (number radius 20 :label &quot;Radius&quot; :min 5 :max 80))
partmodelClause(part id geometry)freecad, legacy-build123d, mesh/nativeDeclares a named renderable part from a solid, sketch, path, or compound expression.(part body (cylinder radius height 48))
pathcadOp(path segment...)freecad, legacy-build123d, mesh/nativeBuilds a path from path segments.(path (polyline points))
path-framecadOp`(path-frame path :at start\end\t :up '(x y z))`freecad, legacy-build123d, mesh/nativeComputes a local frame along a path parameter.(path-frame rail :at end :up '(0 0 1))
pinumericConstantpifreecad, legacy-build123d, mesh/nativeBuilt-in circle constant.(* radius pi)
placecadOp(place frame geometry :offset '(x y z) :rotate '(x y z))freecad, legacy-build123d, mesh/nativePlaces geometry in a local coordinate frame.(place end-frame (cylinder 4 18) :offset '(0 0 -9))
place-componentcomponentPlacementForm`(place-component (component :param value ...) :from port-id :to (port-ref part-id port-id) :normal aligned\opposed [:roll degrees] [:offset '(x y z)] [:mirror none\x\y])`freecad, legacy-build123d, mesh/nativeMates source and target ports without Euler math.(place-component (latch) :from mount :to (port-ref enclosure side-left-latch) :normal opposed)
planecadOp(plane :origin '(x y z) :x '(x y z) :normal '(x y z))freecad, legacy-build123d, mesh/nativeCreates a local coordinate plane.(plane :origin '(80 0 6) :normal '(0 0 1))
polar-pointspointListHelper(polar-points count radius)freecad, legacy-build123d, mesh/nativeBuilds evenly spaced points around a circle.(polar-points 32 20)
polygoncadOp(polygon ((x y)...))freecad, legacy-build123d, mesh/nativeCreates a closed polygon sketch from 2D points.(polygon ((0 0) (40 0) (40 20) (0 20)))
polyhedroncadOp(polyhedron :vertices ((x y z) ...) :triangles ((a b c) ...))mesh/nativeCreates one closed orientable indexed triangle solid after deterministic topology validation.(polyhedron :vertices ((0 0 0) (10 0 0) (0 10 0) (0 0 10)) :triangles ((0 2 1) (0 1 3) (1 2 3) (2 0 3)))
polylinecadOp(polyline points)freecad, legacy-build123d, mesh/nativeBuilds a connected line path from points.(polyline ((0 0) (10 0) (10 5)))
portcomponentPlacementForm(port id :type type-id :frame frame [:compatible-with '(type-id ...)] [:params ((name value) ...)])freecad, legacy-build123d, mesh/nativeDeclares one stable typed local interface.(port mount :type &quot;mount.v1&quot; :frame local-frame)
port-refcomponentPlacementForm(port-ref part-id port-id)freecad, legacy-build123d, mesh/nativeReferences one target port.(port-ref enclosure side-left-latch)
portscomponentPlacementForm(ports (port ...) ...)freecad, legacy-build123d, mesh/nativeGroups local interfaces.(ports (port mount :type &quot;mount.v1&quot; :frame local-frame))
profilecadOp(profile :outer sketch :holes sketch-or-list)freecad, legacy-build123d, mesh/nativeBuilds a face profile from an outer loop and optional hole loops.(profile :outer (circle 20) :holes (circle 6))
quoteexpressionForm(quote value) or 'valuefreecad, legacy-build123d, mesh/nativePrevents evaluation of symbols/lists for literal data such as align tuples.'(center center min)
radnumericHelper(rad degrees)freecad, legacy-build123d, mesh/nativeConverts degrees to radians.(rad 90)
rad-&gt;degnumericHelper(rad-&gt;deg radians)freecad, legacy-build123d, mesh/nativeConverts radians to degrees.(rad-&gt;deg pi-angle)
radial-arraycadOp(radial-array count radius geometry)freecad, legacy-build123d, mesh/nativeRepeats geometry around a circle.(radial-array 12 30 spoke)
rangeexpressionForm(range count)freecad, legacy-build123d, mesh/nativeBuilds integer indices from 0 to count - 1.(range 8)
rectanglecadOp(rectangle width height)freecad, legacy-build123d, mesh/nativeCreates a rectangular sketch/profile.(rectangle 40 20)
reduceexpressionForm(reduce fn initial list)freecad, legacy-build123d, mesh/nativeReduces a list into a single accumulated value.(fold + 0 (range 5))
regular-polygoncadOp(regular-polygon sides radius :rotation deg)freecad, legacy-build123d, mesh/nativeCreates a regular n-gon 2D profile by side count and circumradius.(regular-polygon 6 10)
remapnumericHelper(remap value in-start in-end out-start out-end)freecad, legacy-build123d, mesh/nativeLinearly maps a value between two intervals.(remap height 0 100 1 3)
repeatcadOp(repeat count fn-or-geometry)freecad, legacy-build123d, mesh/nativeRepeat helper for patterned geometry generation.(repeat 6 rib)
repeat-compoundcadOp(repeat-compound count fn-or-geometry)freecad, legacy-build123d, mesh/nativeRepeat helper for patterned geometry generation.(repeat-compound 6 rib)
repeat-pickcadOp(repeat-pick count fn-or-geometry)freecad, legacy-build123d, mesh/nativeRepeat helper for patterned geometry generation.(repeat-pick 6 rib)
repeat-unioncadOp(repeat-union count fn-or-geometry)freecad, legacy-build123d, mesh/nativeRepeat helper for patterned geometry generation.(repeat-union 6 rib)
resultcadOp(result geometry)freecad, legacy-build123d, mesh/nativeSelects final geometry from a build context.(result body)
reverseexpressionForm(reverse list)freecad, legacy-build123d, mesh/nativeReturns list items in reverse order.(reverse points)
revolvecadOp(revolve sketch angle)freecad, legacy-build123d, mesh/nativeRevolves a sketch profile around an axis.(revolve profile 360)
ribcadOp(rib solid profile path)freecad, legacy-build123d, mesh/nativeAdds material: sweeps \profile\ along \path\ and unions it onto \solid\.(rib (box 20 20 20) (circle 3) (path (0 0 0) (0 0 30)))
ribswallPatternModeribsmesh/nativeStraight rib pattern along the shell parameter direction.(wall-pattern (:mode ribs :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
ringcadOp(ring outer-radius inner-radius segments)freecad, legacy-build123d, mesh/nativeCreates an annular sketch aliasing to a profile with one outer and one hole circle.(ring 20 10 64)
ringswallPatternModeringsmesh/nativeRing bands around the shell parameter direction.(wall-pattern (:mode rings :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
rossler-pointspointListHelper(rossler-points count dt scale)freecad, legacy-build123d, mesh/nativeSamples a deterministic Rossler attractor projection.(rossler-points 80 0.03 6)
rotatecadOp(rotate x-deg y-deg z-deg geometry)freecad, legacy-build123d, mesh/nativeRotates geometry in degrees around local axes.(rotate 0 0 45 body)
rounded-polygoncadOp(rounded-polygon points radius)freecad, legacy-build123d, mesh/nativeCreates a polygon profile with rounded corners.(rounded-polygon points 2)
rounded-rectcadOp(rounded-rect width height radius)freecad, legacy-build123d, mesh/nativeCreates a rectangle profile with rounded corners.(rounded-rect 40 20 3)
sampled-radial-loftcadOp(sampled-radial-loft (theta z fz) :height h :z-steps n :theta-steps n :radius expr :z-map expr?)freecad, legacy-build123d, mesh/nativeSamples radial sections across height, then lofts the wires/faces into a solid.(sampled-radial-loft (theta z fz) :height 40 :z-steps 24 :theta-steps 72 :radius (+ 18 (* 2 (sin (+ (* theta 6) (* fz 3.141592653589793))))))
scalecadOp(scale x y z geometry)freecad, legacy-build123d, mesh/nativeScales geometry by XYZ factors.(scale 1 1 0.5 body)
schwarz-dwallPatternModeschwarz-dmesh/nativeTriply periodic Schwarz D implicit field.(wall-pattern (:mode schwarz-d :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
schwarz-pwallPatternModeschwarz-pmesh/nativeTriply periodic Schwarz P implicit field.(wall-pattern (:mode schwarz-p :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
shapecadOp(shape geometry)freecad, legacy-build123d, mesh/nativeMarks or wraps a geometry expression in build contexts.(shape body)
shellcadOp(shell thickness [:faces selector] solid)freecad, legacy-build123d, mesh/nativeHollows or thickens a solid by wall thickness. Exact backends also accept \:faces\ with \target-id:&lt;id&gt;\ or \`target-ids:<id>\<id>\` to choose shell opening faces.(shell 2 :faces &quot;target-id:body:face:0-0-20:1256.637&quot; (cylinder 20 80))
sinnumericHelper(sin radians)freecad, legacy-build123d, mesh/nativeTrigonometric helper using radians.(sin (deg-&gt;rad 45))
slot-arccadOp(slot-arc radius start end width)freecad, legacy-build123d, mesh/nativeCurved (annular) obround: a circular-arc centerline of given radius from \start\ to \end\ degrees, thickened by width.(slot-arc 20 0 90 10)
slot-center-pointcadOp(slot-center-point cx cy px py width)freecad, legacy-build123d, mesh/nativeObround 2D profile from a center point to an end point, with width.(slot-center-point 0 0 20 0 10)
slot-center-to-centercadOp(slot-center-to-center separation width)freecad, legacy-build123d, mesh/nativeObround 2D profile specified by the distance between the two end-arc centers.(slot-center-to-center 30 10)
slot-overallcadOp(slot-overall length width)freecad, legacy-build123d, mesh/nativeCreates an obround (stadium) 2D profile of given overall length and width.(slot-overall 40 10)
smoothstepnumericHelper(smoothstep edge0 edge1 x)freecad, legacy-build123d, mesh/nativeSmooth Hermite interpolation useful for soft transitions.(smoothstep 0 1 t)
spherecadOp(sphere radius)freecad, legacy-build123d, mesh/nativeCreates a sphere.(sphere 12)
spiralwallPatternModespiralmesh/nativeSpiral rib pattern across shell parameters.(wall-pattern (:mode spiral :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target)
squarenumericHelper(square value)freecad, legacy-build123d, mesh/nativeRaises a number to a small fixed power.(square radius)
startcoreConstantstartfreecad, legacy-build123d, mesh/nativeSymbolic endpoint accepted by path-frame \:at\.(path-frame rail :at start :up '(0 0 1))
superellipse-pointpointListHelper(superellipse-point angle rx ry exponent)freecad, legacy-build123d, mesh/nativeSamples one point from a superellipse.(superellipse-point (deg-&gt;rad 45) 30 20 4)
surface-trimcadOp(surface-trim ...)mesh/nativeSupported \.ecky\ surface entry. Read backend guide and validation errors for exact constraints.(surface-trim ...)
svgcadOp(svg path-or-data)freecad, legacy-build123d, mesh/nativeImports SVG profile/path data where backend lowering supports it.(svg iconData)
sweepcadOp(sweep profile path)freecad, legacy-build123d, mesh/nativeSweeps a profile along a path.(sweep (circle 2 16) rail)
tag-edgemodelClause(tag-edge id :edge or :edges selector target)freecad, legacy-build123d, mesh/nativeNames a stable edge selection for downstream operations and analysis.(tag-edge rim :edges &quot;top&quot; body)
tag-edgesmodelClause(tag-edges id :edge or :edges selector target)freecad, legacy-build123d, mesh/nativeNames a stable edge selection for downstream operations and analysis.(tag-edges rim :edges &quot;top&quot; body)
tag-facemodelClause(tag-face id :face or :faces selector target)freecad, legacy-build123d, mesh/nativeNames a stable face selection for downstream operations and analysis.(tag-face mounting :faces &quot;bottom&quot; body)
tag-vertexmodelClause(tag-vertex id :vertex selector target)freecad, legacy-build123d, mesh/nativeNames a stable vertex selection for downstream operations and analysis.(tag-vertex datum :vertex &quot;top&quot; body)
tannumericHelper(tan radians)freecad, legacy-build123d, mesh/nativeTrigonometric helper using radians.(tan (deg-&gt;rad 45))
tapercadOp(taper height scale sketch) or (taper height scale-x scale-y sketch)freecad, legacy-build123d, mesh/nativeExtrudes a sketch while scaling the top section.(taper 30 0.7 0.7 (circle 12 32))
tapped-holecadOp(tapped-hole :iso &quot;M8&quot; :length len [:radius r] [:pitch p] [:depth d] [:base-width w] [:crest-width w] [:lefthand #t])freecad, legacy-build123d, mesh/nativeA tapped (internal female) thread cut as a positive cavity: a named-radius bore cylinder at the ISO minor diameter unioned with a helical relief ridge whose crest reaches the major diameter. \:iso &quot;M8&quot;\ decodes a metric designation; an equal-nominal \thread\ mates with it.(tapped-hole :iso &quot;M8&quot; :length 14)
taunumericConstanttaufreecad, legacy-build123d, mesh/nativeBuilt-in circle constant.(* radius tau)
textcadOp(text value size)freecad, legacy-build123d, mesh/nativeCreates text geometry where backend lowering supports it.(text &quot;A&quot; 12)
threadcadOp(thread :radius r :pitch p :length len :depth d [:base-width w] [:crest-width w] [:female #t] [:clearance c] [:lefthand #t] [:iso &quot;M4&quot;])freecad, legacy-build123d, mesh/nativeParametric helical thread: a core cylinder plus a \helical-ridge\ (male), or a ridge cutter (\:female\). \:iso &quot;M4&quot;\ decodes a metric designation into pitch/radius.(thread :radius 8 :pitch 2 :length 16 :depth 1)
toruscadOp(torus major minor)freecad, legacy-build123d, mesh/nativeCreates a ring torus: tube of radius \minor\ swept at distance \major\ from the Z axis.(torus 20 5)
translatecadOp(translate x y z geometry)freecad, legacy-build123d, mesh/nativeMoves geometry by XYZ offset.(translate 10 0 0 body)
trapezoidcadOp(trapezoid bottom top height :skew s)freecad, legacy-build123d, mesh/nativeCreates a trapezoid 2D profile (parallel bottom/top widths, given height, optional skew).(trapezoid 20 10 8 :skew 3)
truecoreConstanttruefreecad, legacy-build123d, mesh/nativeBoolean constant equivalent to \#t\ or \#f\.(if true body fallback)
twistcadOp(twist height angle sketch)freecad, legacy-build123d, mesh/nativeExtrudes a sketch while rotating sections along height.(twist 40 90 profile)
unioncadOp(union solid...)freecad, legacy-build123d, mesh/nativeBoolean union/fuse of solids.(union a b c)
vec2pointListHelper(vec2 x y)freecad, legacy-build123d, mesh/nativeConstructs a two-coordinate point list.(vec2 10 20)
vec3pointListHelper(vec3 x y z)freecad, legacy-build123d, mesh/nativeConstructs a three-coordinate point list.(vec3 10 20 30)
verifymodelClause(verify (tag id) (metric id metric-expr) (expect id predicate))freecad, legacy-build123d, mesh/nativeDeclares one runtime-checked requirement and its metric evidence.(verify (tag mesh-clean) (metric bad-edges (stl non-manifold-edge-count)) (expect bad-edges (= 0)))
viewmodelClause(view id (offset-part part dx dy dz)...) freecad, legacy-build123d, mesh/nativeDeclares a preview-only exploded or print-layout view without changing export geometry.(view print-layout (offset-part lid 90 0 0) (offset-part body 0 0 0))
voronoi-cellcadOp(voronoi-cell sites index width height inset)mesh/nativeCreates one exact bounded Voronoi polygon, uniformly inset and expressed relative to its selected site.(voronoi-cell (voronoi-cells 3 3 12 12 1.5 23) 4 40 40 1.2)
voronoi-cellspointListHelper(voronoi-cells rows cols dx dy amount seed)freecad, legacy-build123d, mesh/nativeBuilds jittered grid points suitable as Voronoi-ish perforation centers.(voronoi-cells 4 6 14 12 2 seed)
voronoi2numericHelper(voronoi2 x y seed)freecad, legacy-build123d, mesh/nativeDeterministic cellular field: high near cell centers, lower near cell borders.(voronoi2 (* x 0.15) (* y 0.15) seed)
wall-patterncadOp(wall-pattern (:mode mode :depth n :uFreq n :vFreq n :seed n) shell-target)mesh/nativeApplies mesh/eckyRust procedural displacement/perforation-style wall patterns to supported shell surface targets.(wall-pattern (:mode gyroid :depth 0.6 :uFreq 4 :vFreq 5) (shell 2 (cylinder 20 80)))
wave-looppointListHelper(wave-loop count radius amplitude frequency phase)freecad, legacy-build123d, mesh/nativeBuilds a circular wave profile.(wave-loop 48 20 3 5 0)
wedgecadOp(wedge dx dy dz xmin zmin xmax zmax :align '(x y z))freecad, legacy-build123d, mesh/nativeCreates a wedge/ramp solid: a dx×dy×dz box whose top face is shrunk to the xmin..xmax / zmin..zmax window.(wedge 20 10 20 5 5 15 15)
xorcadOp(xor solid...)freecad, legacy-build123d, mesh/nativeBoolean exclusive-or for solids where supported.(xor a b)
xycoreConstantxyfreecad, legacy-build123d, mesh/nativeSymbolic principal plane value.(list xy)
xzcoreConstantxzfreecad, legacy-build123d, mesh/nativeSymbolic principal plane value.(list xz)
yzcoreConstantyzfreecad, legacy-build123d, mesh/nativeSymbolic principal plane value.(list yz)
zero?booleanHelper(zero? number)freecad, legacy-build123d, mesh/nativeBoolean predicate or comparator for conditionals and filtering.(zero? 2)
zipexpressionForm(zip list-a list-b)freecad, legacy-build123d, mesh/nativePairs items from two lists by index.(map (lambda ((x y)) (list x y)) (zip xs ys))