← Ecky CAD / Ecky Language Reference

REFERENCE / 09

Primitive Signatures

These are explicit authored calls. When backend diverges, caveat is spelled out.

box

  • signature: box width depth height
  • result: Solid
  • keywords:
  • :align (x y z) with each axis one of min | center | max

sphere

  • signature: sphere radius
  • result: Solid
  • keywords:
  • :align (x y z)

cylinder

  • signature: cylinder radius height
  • signature: cylinder radius height segments
  • result: Solid
  • keywords:
  • :align (x y z)

cone

  • signature: cone radius1 radius2 height
  • signature: cone radius1 radius2 height segments
  • result: Solid
  • keywords:
  • :align (x y z)

circle

  • signature: circle radius
  • signature: circle radius segments
  • result: Sketch

rectangle

  • signature: rectangle width height
  • result: Sketch

rounded-rect

  • signature: rounded-rect width height radius
  • result: Sketch

rounded-polygon

  • signature: rounded-polygon points radius
  • signature: rounded-polygon points radius segments
  • points: list of 2D points
  • result: Sketch

polygon

  • signature: polygon points
  • points: list of 2D points
  • result: Sketch

profile

  • signature: profile loop1 loop2 ...
  • signature: profile :outer outer-loop :holes hole-loop-or-list
  • result: Sketch

Rules:

  • positional form treats every argument as sketch/wire loop
  • keyword form accepts :outer and :holes only
  • current hole-aware lowerers expect exactly one outer loop when :holes is used

make-face

  • signature: make-face wire1 wire2 ...
  • result: Sketch
  • use when you already have wire-like geometry and need face/sketch result

text

  • signature: text string size
  • result: Sketch
  • normal use: feed into extrude

Example:

(extrude (text "HELLO" 12) 2)

svg

  • native signature: svg path
  • FreeCAD interop signature: svg path [target-width] [target-height] [fit-mode]
  • result: Sketch

Known fit modes from lowerers/tests:

  • "contain"
  • "cover"
  • "stretch"
  • "fill"

import-stl

  • signature: import-stl path
  • result: imported solid/mesh-like geometry

ring

  • signature: ring outer-radius inner-radius
  • signature: ring outer-radius inner-radius segments
  • result: Sketch
  • lowering behavior: alias for profile-with-hole semantics