# text-to-cad STEP-first CAD engine used by CadSet. ## Supported product workflows 1. Generate an editable model from natural language. 2. Generate or modify an editable model from text plus reference images. 3. Reconstruct an uploaded STEP into DesignIR 3.0 / SurfaceIR, then modify and rebuild it without reading the teacher STEP. `cad-router` chooses one of two execution backends: - `text-to-cad` / Build123d - `SimpleCADAPI` The current public skills are intentionally limited to: | Skill | Responsibility | | --- | --- | | [CAD Router](skills/cad-router/SKILL.md) | Route requests, enforce DesignIR, validation, and isolation contracts. | | [CAD](skills/cad/SKILL.md) | Generate and modify STEP-first parametric CAD. | | [CAD Viewer](skills/cad-viewer/SKILL.md) | Inspect and review generated CAD artifacts. | The standalone product frontend lives at [`../cad-agent-studio`](../cad-agent-studio/README.md). The STEP reconstruction and experience-distillation workspace lives at [`../designir-pipeline`](../designir-pipeline/README.md). ## Security boundary Uploaded STEP files are teacher evidence, not generation dependencies. The reconstruction runner rejects source STEP imports, embedded B-Rep, full mesh substitutes, source face references, and paths into the protected teacher workspace. Acceptance runs separately against the rebuilt STEP. ## Uploaded STEP execution Run the full upload path through `cad-router`: ```bash .venv/bin/python skills/cad-router/scripts/route.py \ "重建上传的 STEP,并返回可修改参数" \ --edit-source /absolute/path/to/part.step \ --task-dir /absolute/path/to/task \ --execute ``` The task returns an independently rebuilt STEP, its DesignIR 3.0 source, geometry acceptance measurements, parameter perturbation results, and a catalog containing only validated editable parameters. ## Development Use the repository-local Python environment for checks: ```bash .venv/bin/python -m unittest discover tests/python ``` Run the Viewer from `viewer/` when interactive STEP review is required.