62 lines
2.0 KiB
Markdown
62 lines
2.0 KiB
Markdown
# 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.
|