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.
| Form | Kind | Signature | Backends | Description | Example | |||
|---|---|---|---|---|---|---|---|---|
* | numericHelper | (* a b...) | freecad, legacy-build123d, mesh/native | Multiplies numbers. | (* radius 2) | |||
+ | numericHelper | (+ a b...) | freecad, legacy-build123d, mesh/native | Adds numbers. | (+ width clearance) | |||
- | numericHelper | (- a b...) | freecad, legacy-build123d, mesh/native | Subtracts numbers or negates one number. | (- outer inner) | |||
/ | numericHelper | (/ a b...) | freecad, legacy-build123d, mesh/native | Divides numbers. | (/ width 2) | |||
< | booleanHelper | (< a b) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (< 2 1) | |||
<= | booleanHelper | (<= a b) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (<= 2 1) | |||
= | booleanHelper | (= a b) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (= 2 1) | |||
> | booleanHelper | (> a b) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (> 2 1) | |||
>= | booleanHelper | (>= a b) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (>= 2 1) | |||
abs | numericHelper | (abs value) | freecad, legacy-build123d, mesh/native | Returns absolute value. | (abs offset) | |||
analysis | modelClause | (analysis id analysis-clause...) | freecad, legacy-build123d, mesh/native | Declares 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)) | |||
and | booleanHelper | (and value...) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (and true false) | |||
append | expressionForm | (append list...) | freecad, legacy-build123d, mesh/native | Concatenates lists. | (append front-points back-points) | |||
apply | expressionForm | (apply fn args) | freecad, legacy-build123d, mesh/native | Calls a function with arguments from a list. | (apply union cutters) | |||
arc-array | cadOp | (arc-array count radius start-angle end-angle geometry) | freecad, legacy-build123d, mesh/native | Repeats geometry along an arc. | (arc-array 8 30 0 180 notch) | |||
atan | numericHelper | (atan value) | freecad, legacy-build123d, mesh/native | Single-argument arctangent returning radians. | (atan slope) | |||
atan2 | numericHelper | (atan2 y x) | freecad, legacy-build123d, mesh/native | Two-argument arctangent returning radians. | (atan2 y x) | |||
attractor-field | wallPatternMode | attractor-field | mesh/native | Seeded chaotic attractor-style field. | (wall-pattern (:mode attractor-field :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
begin | modelWrapper | (begin clause...) | freecad, legacy-build123d, mesh/native | Groups multiple model clauses where a single clause position is expected. | (model (begin (params ...) (part body ...))) | |||
bezier-path | cadOp | (bezier-path points) | freecad, legacy-build123d, mesh/native | Builds a Bezier path from control points. | (bezier-path points) | |||
box | cadOp | (box x y z :align '(x y z)) | freecad, legacy-build123d, mesh/native | Creates an axis-aligned rectangular solid. | (box 40 20 10 :align '(min center min)) | |||
bspline | cadOp | `(bspline points :closed #t\ | #f)` | freecad, legacy-build123d, mesh/native | Builds a 2D B-spline sketch from control points. | (bspline points :closed #t) | ||
build | cadOp | (build expr...) | freecad, legacy-build123d, mesh/native | Build container for grouped construction forms. | (build (shape body) (result body)) | |||
cell-distance2 | numericHelper | (cell-distance2 x y seed) | freecad, legacy-build123d, mesh/native | Distance-like deterministic value to nearest jittered cellular site. | (cell-distance2 x y seed) | |||
cellular | wallPatternMode | cellular | mesh/native | Seeded cellular/Voronoi-like displacement field. | (wall-pattern (:mode cellular :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
chamfer | cadOp | (chamfer distance [:edges selector] solid) | freecad, legacy-build123d, mesh/native | Bevels 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:<id>\ and \`target-ids:<id>\ | <id>\`. | (chamfer 1 :edges "bottom" body) | ||
circle | cadOp | (circle radius segments) | freecad, legacy-build123d, mesh/native | Creates a circular sketch/profile. | (circle 20 64) | |||
clamp | numericHelper | (clamp value min max) | freecad, legacy-build123d, mesh/native | Constrains value to a numeric interval. | (clamp depth 0 3) | |||
clip-box | cadOp | (clip-box geometry :x '(min max) :y '(min max) :z '(min max)) | freecad, legacy-build123d, mesh/native | Clips geometry by an axis-aligned box. | (clip-box body :x '(0 100) :y '(-30 30) :z '(0 40)) | |||
clip-plane | cadOp | `(clip-plane geometry :origin '(x y z) :normal '(x y z) [:keep positive\ | negative])` | freecad, legacy-build123d, mesh/native | Clips geometry against an oriented plane. | (clip-plane body :origin '(0 0 10) :normal '(0 0 1) :keep positive) | ||
common | cadOp | (common solid...) | freecad, legacy-build123d, mesh/native | Keeps shared volume of solids. | (common a b) | |||
compound | cadOp | (compound geometry...) | freecad, legacy-build123d, mesh/native | Groups geometry without fusing into one solid. | (compound body bolts) | |||
concat-map | expressionForm | (concat-map fn list) | freecad, legacy-build123d, mesh/native | Maps each item to a list and concatenates the results. | (flat-map (lambda (i) (list i (- i))) (range 3)) | |||
cone | cadOp | (cone r1 r2 height segments) | freecad, legacy-build123d, mesh/native | Creates a cone or tapered cylinder along local Z. | (cone 12 6 30 48) | |||
cos | numericHelper | (cos radians) | freecad, legacy-build123d, mesh/native | Trigonometric helper using radians. | (cos (deg->rad 45)) | |||
cube | numericHelper | (cube value) | freecad, legacy-build123d, mesh/native | Raises a number to a small fixed power. | (cube radius) | |||
cut | cadOp | (cut base cutter...) | freecad, legacy-build123d, mesh/native | Subtracts cutter solids from a base solid. | (cut body hole) | |||
cylinder | cadOp | (cylinder radius height segments) | freecad, legacy-build123d, mesh/native | Creates a cylinder along local Z. | (cylinder 8 30 48) | |||
define | expressionForm | (define name value) | freecad, legacy-build123d, mesh/native | Defines a helper value or function in expression scope. | (define wall 2) | |||
define-component | componentPlacementForm | (define-component id (signature...) [(ports ...)] [(verify ...)] geometry) | freecad, legacy-build123d, mesh/native | Declares closed reusable local geometry and optional ports. | (define-component latch () (ports (port mount :type "mount.v1" :frame (frame :origin '(0 0 0) :x-axis '(1 0 0) :z-axis '(0 0 1)))) (box 20 4 2)) | |||
deg | numericHelper | (deg radians) | freecad, legacy-build123d, mesh/native | Converts radians to degrees. | (deg angle-rad) | |||
deg->rad | numericHelper | (deg->rad degrees) | freecad, legacy-build123d, mesh/native | Converts degrees to radians. | (deg->rad 90) | |||
diamond | wallPatternMode | diamond | mesh/native | Cross-hatched diamond displacement field. | (wall-pattern (:mode diamond :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
diamond-field | wallPatternMode | diamond-field | mesh/native | Alias-style diamond periodic implicit field. | (wall-pattern (:mode diamond-field :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
difference | cadOp | (difference base cutter...) | freecad, legacy-build123d, mesh/native | Subtracts cutter solids from a base solid. | (difference body hole) | |||
draft | cadOp | (draft angle solid) | freecad, legacy-build123d, mesh/native | Applies a draft angle to a solid. | (draft 2deg body) | |||
ellipse | cadOp | (ellipse rx ry) | freecad, legacy-build123d, mesh/native | Creates an elliptical 2D profile with radii along X and Y. | (ellipse 10 4) | |||
empty? | booleanHelper | (empty? value) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (empty? '()) | |||
end | coreConstant | end | freecad, legacy-build123d, mesh/native | Symbolic endpoint accepted by path-frame \:at\. | (path-frame rail :at end :up '(0 0 1)) | |||
enumerate | expressionForm | (enumerate list) | freecad, legacy-build123d, mesh/native | Pairs each index with its list item. | (map (lambda ((index value)) (list index value)) (enumerate (range 4))) | |||
even? | booleanHelper | (even? number) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (even? 2) | |||
extrude | cadOp | `(extrude sketch height :symmetric #t\ | #f)` | freecad, legacy-build123d, mesh/native | Extrudes a 2D sketch along local +Z unless symmetric is enabled. | (extrude (polygon points) 8) | ||
false | coreConstant | false | freecad, legacy-build123d, mesh/native | Boolean constant equivalent to \#t\ or \#f\. | (if false body fallback) | |||
fbm | wallPatternMode | fbm | mesh/native | Fractal noise displacement field. | (wall-pattern (:mode fbm :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
fbm2 | numericHelper | (fbm2 x y seed octaves lacunarity gain) | freecad, legacy-build123d, mesh/native | fractal Brownian motion built from deterministic noise2 octaves. | (fbm2 x y seed 4 2.0 0.5) | |||
feature | modelClause | (feature id :role role [:params (key...)] geometry) | freecad, legacy-build123d, mesh/native | Declares renderable geometry plus semantic role and primary control metadata. | (feature shell :role enclosure :params (width wall) (box width 40 wall)) | |||
fillet | cadOp | (fillet radius [:edges selector] solid) | freecad, legacy-build123d, mesh/native | Rounds 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:<id>\ and \`target-ids:<id>\ | <id>\`. | (fillet 2 :edges "x-min+z-max" body) | ||
filter | expressionForm | (filter fn list) | freecad, legacy-build123d, mesh/native | Keeps list items where predicate returns true. | (filter (lambda (i) (even? i)) (range 8)) | |||
flat-map | expressionForm | (flat-map fn list) | freecad, legacy-build123d, mesh/native | Maps each item to a list and concatenates the results. | (flat-map (lambda (i) (list i (- i))) (range 3)) | |||
floor | numericHelper | (floor value) | freecad, legacy-build123d, mesh/native | Rounds down to an integer-valued number. | (floor segments) | |||
fold | expressionForm | (fold fn initial list) | freecad, legacy-build123d, mesh/native | Reduces a list into a single accumulated value. | (fold + 0 (range 5)) | |||
for-compound | cadOp | (for-compound list fn) | freecad, legacy-build123d, mesh/native | Maps list values to geometry and compounds the result. | (for-compound points (lambda (p) ...)) | |||
for-union | cadOp | (for-union list fn) | freecad, legacy-build123d, mesh/native | Maps list values to solids and unions the result. | (for-union (range 6) (lambda (i) ...)) | |||
fourier | wallPatternMode | fourier | mesh/native | Layered sine/cosine Fourier-style displacement field. | (wall-pattern (:mode fourier :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
frame | componentPlacementForm | (frame :origin '(x y z) :x-axis '(x y z) :z-axis '(x y z)) | freecad, legacy-build123d, mesh/native | Defines origin/x/z; derives y as z cross x. | (frame :origin '(50 0 15) :x-axis '(0 1 0) :z-axis '(1 0 0)) | |||
fuse | cadOp | (fuse solid...) | freecad, legacy-build123d, mesh/native | Boolean union/fuse of solids. | (fuse a b c) | |||
grid-array | cadOp | (grid-array rows cols dx dy geometry) | freecad, legacy-build123d, mesh/native | Repeats geometry on a 2D grid. | (grid-array 3 5 12 12 hole) | |||
groove | cadOp | (groove solid profile path) | freecad, legacy-build123d, mesh/native | Removes material: sweeps \profile\ along \path\ and subtracts it from \solid\. | (groove (box 20 20 20) (circle 3) (path (0 0 0) (0 0 30))) | |||
gyroid | wallPatternMode | gyroid | mesh/native | triply periodic gyroid implicit field. | (wall-pattern (:mode gyroid :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
hammered | wallPatternMode | hammered | mesh/native | Seeded hammered texture using deterministic noise. | (wall-pattern (:mode hammered :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
hash-signed | numericHelper | (hash-signed x y seed) | freecad, legacy-build123d, mesh/native | Deterministic signed hash value for offsets and jitter. | (hash-signed ix iy seed) | |||
hash01 | numericHelper | (hash01 x y seed) | freecad, legacy-build123d, mesh/native | Deterministic hash value in the 0..1 range for procedural variation. | (hash01 ix iy seed) | |||
heightfield | cadOp | `(heightfield image-path :width w :depth d :relief-height h :base-thickness b [:invert #t\ | #f])` | mesh/native | Samples 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-ridge | cadOp | (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/native | Creates 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-points | pointListHelper | (henon-points count scale) | freecad, legacy-build123d, mesh/native | Samples deterministic Henon map points. | (henon-points 100 12) | |||
hull | cadOp | (hull solid...) | mesh/native | Convex hull of the child solids as a single closed BREP solid. | (hull (sphere 6) (translate 30 0 0 (sphere 6))) | |||
if | expressionForm | (if condition then else) | freecad, legacy-build123d, mesh/native | Chooses between two expressions from a boolean condition. | (if useCap (sphere r) (cylinder r h)) | |||
import-step | cadOp | (import-step path) | mesh/native | Imports an exact STEP payload through native Direct OCCT. | (import-step "/absolute/path/component.step") | |||
import-stl | cadOp | `(import-stl path [:target-triangles n :max-error d [:preserve-boundaries #t\ | #f]])` | freecad, legacy-build123d, mesh/native | Imports an STL file as geometry. Optional preparation keywords keep the raw source and derive a bounded indexed mesh. | (import-stl "/tmp/part.stl" :target-triangles 4000 :max-error 0.05 :preserve-boundaries #t) | ||
intersection | cadOp | (intersection solid...) | freecad, legacy-build123d, mesh/native | Keeps shared volume of solids. | (intersection a b) | |||
invlerp | numericHelper | (invlerp start end value) | freecad, legacy-build123d, mesh/native | Maps a value from an interval to its unbounded interpolation factor. | (invlerp 0 100 height) | |||
jitter2 | pointListHelper | (jitter2 x y amount seed) | freecad, legacy-build123d, mesh/native | Returns a deterministic jittered 2D point from a base coordinate. | (jitter2 10 20 2 seed) | |||
jittered-grid | pointListHelper | (jittered-grid rows cols dx dy amount seed) | freecad, legacy-build123d, mesh/native | Builds a deterministic grid of jittered 2D points. | (jittered-grid 4 6 12 12 2 seed) | |||
lambda | expressionForm | (lambda (arg...) body) | freecad, legacy-build123d, mesh/native | Creates an anonymous function for map/filter/fold helpers. | (lambda (i) (translate (* i pitch) 0 0 cutter)) | |||
lerp | numericHelper | (lerp a b t) | freecad, legacy-build123d, mesh/native | Linear interpolation from a to b by t. | (lerp 10 20 0.25) | |||
let | modelWrapper | (let ((name value)...) clause...) | freecad, legacy-build123d, mesh/native | Binds 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/native | Sequential model-level binding form; later bindings can use earlier bindings. | (model (let* ((r 20) (h (* r 3))) (part body (cylinder r h)))) | |||
linear-array | cadOp | (linear-array count dx dy dz geometry) | freecad, legacy-build123d, mesh/native | Repeats geometry in a linear sequence. | (linear-array 4 12 0 0 rib) | |||
linspace | expressionForm | (linspace start end count) | freecad, legacy-build123d, mesh/native | Builds evenly spaced samples including endpoints. | (linspace 0 360 12) | |||
list | expressionForm | (list value...) | freecad, legacy-build123d, mesh/native | Builds a list value. | (list x y z) | |||
list? | booleanHelper | (list? value) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (list? '()) | |||
location | cadOp | (location frame :offset '(x y z) :rotate '(x y z)) | freecad, legacy-build123d, mesh/native | Creates a placement from a frame and optional local transform. | (location (plane :origin '(80 0 6)) :rotate '(0 90 0)) | |||
loft | cadOp | (loft sketch...) | freecad, legacy-build123d, mesh/native | Creates a solid through multiple sketch sections. | (loft bottom top) | |||
logistic-bifurcation-points | pointListHelper | (logistic-bifurcation-points r-count samples transient scale) | freecad, legacy-build123d, mesh/native | Builds deterministic points from the logistic map bifurcation diagram. | (logistic-bifurcation-points 24 8 16 30) | |||
lorenz-points | pointListHelper | (lorenz-points count dt scale) | freecad, legacy-build123d, mesh/native | Samples a deterministic Lorenz attractor projection. | (lorenz-points 80 0.01 4) | |||
make-face | cadOp | (make-face sketch) | freecad, legacy-build123d, mesh/native | Turns a closed sketch into a face-like profile for downstream ops. | (make-face (polygon points)) | |||
map | expressionForm | (map fn list ...) | freecad, legacy-build123d, mesh/native | Transforms each list item with a function. | (map (lambda (i) (* i 10)) (range 4)) | |||
max | numericHelper | (max a b...) | freecad, legacy-build123d, mesh/native | Returns largest number. | (max wall 1.2) | |||
mesh | cadOp | (mesh :vertices ((x y z) ...) :triangles ((a b c) ...)) | mesh/native | Creates 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-anchor | cadOp | (mesh-anchor triangle-index barycentric-0 barycentric-1 barycentric-2) | mesh/native | Declares one exact triangle seed used inside a native mesh \surface-trim\ path. | (mesh-anchor 42 0.2 0.3 0.5) | |||
meta | modelClause | (meta key value) | freecad, legacy-build123d, mesh/native | Stores model metadata such as labels, intent, or semantic hints. | (meta :title "Bottle cage") | |||
min | numericHelper | (min a b...) | freecad, legacy-build123d, mesh/native | Returns smallest number. | (min wall max-wall) | |||
mirror | cadOp | (mirror axis offset geometry) | freecad, legacy-build123d, mesh/native | Mirrors geometry across the \x\, \y\, or \z\ plane at offset. | (mirror "x" 0 body) | |||
neovius | wallPatternMode | neovius | mesh/native | Triply periodic Neovius implicit field. | (wall-pattern (:mode neovius :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
noise2 | numericHelper | (noise2 x y seed) | freecad, legacy-build123d, mesh/native | smooth deterministic value noise sampled at 2D coordinates. | (noise2 (* x 0.1) (* y 0.1) seed) | |||
not | booleanHelper | (not value) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (not false) | |||
null? | booleanHelper | (null? value) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (null? '()) | |||
odd? | booleanHelper | (odd? number) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (odd? 2) | |||
offset | cadOp | (offset distance sketch) | freecad, legacy-build123d, mesh/native | Offsets a sketch/profile by distance. | (offset 2 profile) | |||
offset-rounded | cadOp | (offset-rounded distance sketch) | freecad, legacy-build123d, mesh/native | Offsets a sketch with rounded joins where supported. | (offset-rounded 2 profile) | |||
or | booleanHelper | (or value...) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (or true false) | |||
organic-loop | pointListHelper | (organic-loop count radius amount seed) | freecad, legacy-build123d, mesh/native | Builds a deterministic irregular loop around a radius. | (organic-loop 32 30 4 seed) | |||
params | modelClause | (params control...) | freecad, legacy-build123d, mesh/native | Declares user-visible controls and default parameter values for the model. | (params (number radius 20 :label "Radius" :min 5 :max 80)) | |||
part | modelClause | (part id geometry) | freecad, legacy-build123d, mesh/native | Declares a named renderable part from a solid, sketch, path, or compound expression. | (part body (cylinder radius height 48)) | |||
path | cadOp | (path segment...) | freecad, legacy-build123d, mesh/native | Builds a path from path segments. | (path (polyline points)) | |||
path-frame | cadOp | `(path-frame path :at start\ | end\ | t :up '(x y z))` | freecad, legacy-build123d, mesh/native | Computes a local frame along a path parameter. | (path-frame rail :at end :up '(0 0 1)) | |
pi | numericConstant | pi | freecad, legacy-build123d, mesh/native | Built-in circle constant. | (* radius pi) | |||
place | cadOp | (place frame geometry :offset '(x y z) :rotate '(x y z)) | freecad, legacy-build123d, mesh/native | Places geometry in a local coordinate frame. | (place end-frame (cylinder 4 18) :offset '(0 0 -9)) | |||
place-component | componentPlacementForm | `(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/native | Mates source and target ports without Euler math. | (place-component (latch) :from mount :to (port-ref enclosure side-left-latch) :normal opposed) |
plane | cadOp | (plane :origin '(x y z) :x '(x y z) :normal '(x y z)) | freecad, legacy-build123d, mesh/native | Creates a local coordinate plane. | (plane :origin '(80 0 6) :normal '(0 0 1)) | |||
polar-points | pointListHelper | (polar-points count radius) | freecad, legacy-build123d, mesh/native | Builds evenly spaced points around a circle. | (polar-points 32 20) | |||
polygon | cadOp | (polygon ((x y)...)) | freecad, legacy-build123d, mesh/native | Creates a closed polygon sketch from 2D points. | (polygon ((0 0) (40 0) (40 20) (0 20))) | |||
polyhedron | cadOp | (polyhedron :vertices ((x y z) ...) :triangles ((a b c) ...)) | mesh/native | Creates 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))) | |||
polyline | cadOp | (polyline points) | freecad, legacy-build123d, mesh/native | Builds a connected line path from points. | (polyline ((0 0) (10 0) (10 5))) | |||
port | componentPlacementForm | (port id :type type-id :frame frame [:compatible-with '(type-id ...)] [:params ((name value) ...)]) | freecad, legacy-build123d, mesh/native | Declares one stable typed local interface. | (port mount :type "mount.v1" :frame local-frame) | |||
port-ref | componentPlacementForm | (port-ref part-id port-id) | freecad, legacy-build123d, mesh/native | References one target port. | (port-ref enclosure side-left-latch) | |||
ports | componentPlacementForm | (ports (port ...) ...) | freecad, legacy-build123d, mesh/native | Groups local interfaces. | (ports (port mount :type "mount.v1" :frame local-frame)) | |||
profile | cadOp | (profile :outer sketch :holes sketch-or-list) | freecad, legacy-build123d, mesh/native | Builds a face profile from an outer loop and optional hole loops. | (profile :outer (circle 20) :holes (circle 6)) | |||
quote | expressionForm | (quote value) or 'value | freecad, legacy-build123d, mesh/native | Prevents evaluation of symbols/lists for literal data such as align tuples. | '(center center min) | |||
rad | numericHelper | (rad degrees) | freecad, legacy-build123d, mesh/native | Converts degrees to radians. | (rad 90) | |||
rad->deg | numericHelper | (rad->deg radians) | freecad, legacy-build123d, mesh/native | Converts radians to degrees. | (rad->deg pi-angle) | |||
radial-array | cadOp | (radial-array count radius geometry) | freecad, legacy-build123d, mesh/native | Repeats geometry around a circle. | (radial-array 12 30 spoke) | |||
range | expressionForm | (range count) | freecad, legacy-build123d, mesh/native | Builds integer indices from 0 to count - 1. | (range 8) | |||
rectangle | cadOp | (rectangle width height) | freecad, legacy-build123d, mesh/native | Creates a rectangular sketch/profile. | (rectangle 40 20) | |||
reduce | expressionForm | (reduce fn initial list) | freecad, legacy-build123d, mesh/native | Reduces a list into a single accumulated value. | (fold + 0 (range 5)) | |||
regular-polygon | cadOp | (regular-polygon sides radius :rotation deg) | freecad, legacy-build123d, mesh/native | Creates a regular n-gon 2D profile by side count and circumradius. | (regular-polygon 6 10) | |||
remap | numericHelper | (remap value in-start in-end out-start out-end) | freecad, legacy-build123d, mesh/native | Linearly maps a value between two intervals. | (remap height 0 100 1 3) | |||
repeat | cadOp | (repeat count fn-or-geometry) | freecad, legacy-build123d, mesh/native | Repeat helper for patterned geometry generation. | (repeat 6 rib) | |||
repeat-compound | cadOp | (repeat-compound count fn-or-geometry) | freecad, legacy-build123d, mesh/native | Repeat helper for patterned geometry generation. | (repeat-compound 6 rib) | |||
repeat-pick | cadOp | (repeat-pick count fn-or-geometry) | freecad, legacy-build123d, mesh/native | Repeat helper for patterned geometry generation. | (repeat-pick 6 rib) | |||
repeat-union | cadOp | (repeat-union count fn-or-geometry) | freecad, legacy-build123d, mesh/native | Repeat helper for patterned geometry generation. | (repeat-union 6 rib) | |||
result | cadOp | (result geometry) | freecad, legacy-build123d, mesh/native | Selects final geometry from a build context. | (result body) | |||
reverse | expressionForm | (reverse list) | freecad, legacy-build123d, mesh/native | Returns list items in reverse order. | (reverse points) | |||
revolve | cadOp | (revolve sketch angle) | freecad, legacy-build123d, mesh/native | Revolves a sketch profile around an axis. | (revolve profile 360) | |||
rib | cadOp | (rib solid profile path) | freecad, legacy-build123d, mesh/native | Adds material: sweeps \profile\ along \path\ and unions it onto \solid\. | (rib (box 20 20 20) (circle 3) (path (0 0 0) (0 0 30))) | |||
ribs | wallPatternMode | ribs | mesh/native | Straight rib pattern along the shell parameter direction. | (wall-pattern (:mode ribs :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
ring | cadOp | (ring outer-radius inner-radius segments) | freecad, legacy-build123d, mesh/native | Creates an annular sketch aliasing to a profile with one outer and one hole circle. | (ring 20 10 64) | |||
rings | wallPatternMode | rings | mesh/native | Ring bands around the shell parameter direction. | (wall-pattern (:mode rings :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
rossler-points | pointListHelper | (rossler-points count dt scale) | freecad, legacy-build123d, mesh/native | Samples a deterministic Rossler attractor projection. | (rossler-points 80 0.03 6) | |||
rotate | cadOp | (rotate x-deg y-deg z-deg geometry) | freecad, legacy-build123d, mesh/native | Rotates geometry in degrees around local axes. | (rotate 0 0 45 body) | |||
rounded-polygon | cadOp | (rounded-polygon points radius) | freecad, legacy-build123d, mesh/native | Creates a polygon profile with rounded corners. | (rounded-polygon points 2) | |||
rounded-rect | cadOp | (rounded-rect width height radius) | freecad, legacy-build123d, mesh/native | Creates a rectangle profile with rounded corners. | (rounded-rect 40 20 3) | |||
sampled-radial-loft | cadOp | (sampled-radial-loft (theta z fz) :height h :z-steps n :theta-steps n :radius expr :z-map expr?) | freecad, legacy-build123d, mesh/native | Samples 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)))))) | |||
scale | cadOp | (scale x y z geometry) | freecad, legacy-build123d, mesh/native | Scales geometry by XYZ factors. | (scale 1 1 0.5 body) | |||
schwarz-d | wallPatternMode | schwarz-d | mesh/native | Triply periodic Schwarz D implicit field. | (wall-pattern (:mode schwarz-d :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
schwarz-p | wallPatternMode | schwarz-p | mesh/native | Triply periodic Schwarz P implicit field. | (wall-pattern (:mode schwarz-p :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
shape | cadOp | (shape geometry) | freecad, legacy-build123d, mesh/native | Marks or wraps a geometry expression in build contexts. | (shape body) | |||
shell | cadOp | (shell thickness [:faces selector] solid) | freecad, legacy-build123d, mesh/native | Hollows or thickens a solid by wall thickness. Exact backends also accept \:faces\ with \target-id:<id>\ or \`target-ids:<id>\ | <id>\` to choose shell opening faces. | (shell 2 :faces "target-id:body:face:0-0-20:1256.637" (cylinder 20 80)) | ||
sin | numericHelper | (sin radians) | freecad, legacy-build123d, mesh/native | Trigonometric helper using radians. | (sin (deg->rad 45)) | |||
slot-arc | cadOp | (slot-arc radius start end width) | freecad, legacy-build123d, mesh/native | Curved (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-point | cadOp | (slot-center-point cx cy px py width) | freecad, legacy-build123d, mesh/native | Obround 2D profile from a center point to an end point, with width. | (slot-center-point 0 0 20 0 10) | |||
slot-center-to-center | cadOp | (slot-center-to-center separation width) | freecad, legacy-build123d, mesh/native | Obround 2D profile specified by the distance between the two end-arc centers. | (slot-center-to-center 30 10) | |||
slot-overall | cadOp | (slot-overall length width) | freecad, legacy-build123d, mesh/native | Creates an obround (stadium) 2D profile of given overall length and width. | (slot-overall 40 10) | |||
smoothstep | numericHelper | (smoothstep edge0 edge1 x) | freecad, legacy-build123d, mesh/native | Smooth Hermite interpolation useful for soft transitions. | (smoothstep 0 1 t) | |||
sphere | cadOp | (sphere radius) | freecad, legacy-build123d, mesh/native | Creates a sphere. | (sphere 12) | |||
spiral | wallPatternMode | spiral | mesh/native | Spiral rib pattern across shell parameters. | (wall-pattern (:mode spiral :depth 0.6 :uFreq 5 :vFreq 5 :seed 7) target) | |||
square | numericHelper | (square value) | freecad, legacy-build123d, mesh/native | Raises a number to a small fixed power. | (square radius) | |||
start | coreConstant | start | freecad, legacy-build123d, mesh/native | Symbolic endpoint accepted by path-frame \:at\. | (path-frame rail :at start :up '(0 0 1)) | |||
superellipse-point | pointListHelper | (superellipse-point angle rx ry exponent) | freecad, legacy-build123d, mesh/native | Samples one point from a superellipse. | (superellipse-point (deg->rad 45) 30 20 4) | |||
surface-trim | cadOp | (surface-trim ...) | mesh/native | Supported \.ecky\ surface entry. Read backend guide and validation errors for exact constraints. | (surface-trim ...) | |||
svg | cadOp | (svg path-or-data) | freecad, legacy-build123d, mesh/native | Imports SVG profile/path data where backend lowering supports it. | (svg iconData) | |||
sweep | cadOp | (sweep profile path) | freecad, legacy-build123d, mesh/native | Sweeps a profile along a path. | (sweep (circle 2 16) rail) | |||
tag-edge | modelClause | (tag-edge id :edge or :edges selector target) | freecad, legacy-build123d, mesh/native | Names a stable edge selection for downstream operations and analysis. | (tag-edge rim :edges "top" body) | |||
tag-edges | modelClause | (tag-edges id :edge or :edges selector target) | freecad, legacy-build123d, mesh/native | Names a stable edge selection for downstream operations and analysis. | (tag-edges rim :edges "top" body) | |||
tag-face | modelClause | (tag-face id :face or :faces selector target) | freecad, legacy-build123d, mesh/native | Names a stable face selection for downstream operations and analysis. | (tag-face mounting :faces "bottom" body) | |||
tag-vertex | modelClause | (tag-vertex id :vertex selector target) | freecad, legacy-build123d, mesh/native | Names a stable vertex selection for downstream operations and analysis. | (tag-vertex datum :vertex "top" body) | |||
tan | numericHelper | (tan radians) | freecad, legacy-build123d, mesh/native | Trigonometric helper using radians. | (tan (deg->rad 45)) | |||
taper | cadOp | (taper height scale sketch) or (taper height scale-x scale-y sketch) | freecad, legacy-build123d, mesh/native | Extrudes a sketch while scaling the top section. | (taper 30 0.7 0.7 (circle 12 32)) | |||
tapped-hole | cadOp | (tapped-hole :iso "M8" :length len [:radius r] [:pitch p] [:depth d] [:base-width w] [:crest-width w] [:lefthand #t]) | freecad, legacy-build123d, mesh/native | A 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 "M8"\ decodes a metric designation; an equal-nominal \thread\ mates with it. | (tapped-hole :iso "M8" :length 14) | |||
tau | numericConstant | tau | freecad, legacy-build123d, mesh/native | Built-in circle constant. | (* radius tau) | |||
text | cadOp | (text value size) | freecad, legacy-build123d, mesh/native | Creates text geometry where backend lowering supports it. | (text "A" 12) | |||
thread | cadOp | (thread :radius r :pitch p :length len :depth d [:base-width w] [:crest-width w] [:female #t] [:clearance c] [:lefthand #t] [:iso "M4"]) | freecad, legacy-build123d, mesh/native | Parametric helical thread: a core cylinder plus a \helical-ridge\ (male), or a ridge cutter (\:female\). \:iso "M4"\ decodes a metric designation into pitch/radius. | (thread :radius 8 :pitch 2 :length 16 :depth 1) | |||
torus | cadOp | (torus major minor) | freecad, legacy-build123d, mesh/native | Creates a ring torus: tube of radius \minor\ swept at distance \major\ from the Z axis. | (torus 20 5) | |||
translate | cadOp | (translate x y z geometry) | freecad, legacy-build123d, mesh/native | Moves geometry by XYZ offset. | (translate 10 0 0 body) | |||
trapezoid | cadOp | (trapezoid bottom top height :skew s) | freecad, legacy-build123d, mesh/native | Creates a trapezoid 2D profile (parallel bottom/top widths, given height, optional skew). | (trapezoid 20 10 8 :skew 3) | |||
true | coreConstant | true | freecad, legacy-build123d, mesh/native | Boolean constant equivalent to \#t\ or \#f\. | (if true body fallback) | |||
twist | cadOp | (twist height angle sketch) | freecad, legacy-build123d, mesh/native | Extrudes a sketch while rotating sections along height. | (twist 40 90 profile) | |||
union | cadOp | (union solid...) | freecad, legacy-build123d, mesh/native | Boolean union/fuse of solids. | (union a b c) | |||
vec2 | pointListHelper | (vec2 x y) | freecad, legacy-build123d, mesh/native | Constructs a two-coordinate point list. | (vec2 10 20) | |||
vec3 | pointListHelper | (vec3 x y z) | freecad, legacy-build123d, mesh/native | Constructs a three-coordinate point list. | (vec3 10 20 30) | |||
verify | modelClause | (verify (tag id) (metric id metric-expr) (expect id predicate)) | freecad, legacy-build123d, mesh/native | Declares one runtime-checked requirement and its metric evidence. | (verify (tag mesh-clean) (metric bad-edges (stl non-manifold-edge-count)) (expect bad-edges (= 0))) | |||
view | modelClause | (view id (offset-part part dx dy dz)...) | freecad, legacy-build123d, mesh/native | Declares 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-cell | cadOp | (voronoi-cell sites index width height inset) | mesh/native | Creates 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-cells | pointListHelper | (voronoi-cells rows cols dx dy amount seed) | freecad, legacy-build123d, mesh/native | Builds jittered grid points suitable as Voronoi-ish perforation centers. | (voronoi-cells 4 6 14 12 2 seed) | |||
voronoi2 | numericHelper | (voronoi2 x y seed) | freecad, legacy-build123d, mesh/native | Deterministic cellular field: high near cell centers, lower near cell borders. | (voronoi2 (* x 0.15) (* y 0.15) seed) | |||
wall-pattern | cadOp | (wall-pattern (:mode mode :depth n :uFreq n :vFreq n :seed n) shell-target) | mesh/native | Applies 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-loop | pointListHelper | (wave-loop count radius amplitude frequency phase) | freecad, legacy-build123d, mesh/native | Builds a circular wave profile. | (wave-loop 48 20 3 5 0) | |||
wedge | cadOp | (wedge dx dy dz xmin zmin xmax zmax :align '(x y z)) | freecad, legacy-build123d, mesh/native | Creates 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) | |||
xor | cadOp | (xor solid...) | freecad, legacy-build123d, mesh/native | Boolean exclusive-or for solids where supported. | (xor a b) | |||
xy | coreConstant | xy | freecad, legacy-build123d, mesh/native | Symbolic principal plane value. | (list xy) | |||
xz | coreConstant | xz | freecad, legacy-build123d, mesh/native | Symbolic principal plane value. | (list xz) | |||
yz | coreConstant | yz | freecad, legacy-build123d, mesh/native | Symbolic principal plane value. | (list yz) | |||
zero? | booleanHelper | (zero? number) | freecad, legacy-build123d, mesh/native | Boolean predicate or comparator for conditionals and filtering. | (zero? 2) | |||
zip | expressionForm | (zip list-a list-b) | freecad, legacy-build123d, mesh/native | Pairs items from two lists by index. | (map (lambda ((x y)) (list x y)) (zip xs ys)) |