Pro-Tool Spine · Parametric CAD → STEP

Parametric Part → STEP

Describe a part → an editable parametric STEP solid (BREP), ready for Fusion / FreeCAD / SolidWorks / Onshape. Not a mesh — a real solid with faces, fillets, and holes.

The brief → CadQuery → STEP

Brief: "wall bracket, 80×40×5mm base, four M4 holes, 3mm fillets." The agent authored CadQuery (OpenCASCADE), and the cad-step cap exported a native STEP:

width = 80; depth = 40; base_t = 5
result = (cq.Workplane("XY")
    .box(width, depth, base_t)
    .edges("|Z").fillet(3)
    .faces(">Z").workplane()
    .rect(60, 20, forConstruction=True).vertices()
    .hole(4.5))

The deliverable

bracket-parametric.step — 50 KB, editable in any CAD tool.

Proof it's a real BREP solid (not a tessellated mesh)

STEP entitycountmeaning
MANIFOLD_SOLID_BREP1a closed solid body
ADVANCED_FACE14real editable faces
CYLINDRICAL_SURFACE8the M4 holes as true cylinders
PLANE7flat faces
TRIANGULATED_*0(a mesh-shell STEP would be all triangles)

Validation report (live)

{ "engine": "cadquery-occ", "brep_solid": true, "n_solids": 1, "is_solid": true,
  "bbox_mm": [80.0, 40.0, 5.0], "watertight": true, "volume_mm3": 15643.36 }

vs. the mesh path

idea-to-printable-part (OpenSCAD) makes a printable mesh STL; convert stl→step only wraps that mesh in a tessellated shell. This path makes an editable solid — the difference between a STEP a CAD tool can edit and one it can only display.

Recipe

Playbook: public/playbooks/parametric-cad-to-step.md · verb: create_cad_step / CLI livepeer cad-step.