Create/edit parametric CAD models, organize CAD projects, export STEP/STL/3MF/GLB files, resolve prompt references, and measure geometry with cadgen.
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-cad-00dc34a4d5ac ,按照其中的说明把「cad」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Provenance: maintained in earthtojake/text-to-cad. Use the installed local skill files for the current interface.
Read only the references needed for the request.
| Task | First action | Reference |
|---|---|---|
| Create or edit a part or assembly | Find the existing Python model, or create a decorated model below; edit source and run python <model>.py. | Model contract, shape construction; positioning for assemblies |
| Organize a CAD project | Follow its existing layout; for a new multi-model project use src/, format output folders, and a model catalog. | Project layout, minimal starters |
| Export STL, 3MF or GLB | Add a mesh decorator for a maintained output, or run the format's build INPUT.step OUT command for a one-off export. | Mesh exports |
| Resolve a reference from a prompt | Identify its saved STEP/STP document, open it with read_scene, and call scene.resolve(ref) as shown below. | Reference syntax and inspection |
| Measure or check geometry | Write a Python check using native build123d geometry and, where useful, cadgen.geometry. | Inspection and validation |
| Model from an image or drawing | Extract the specified dimensions and record meaningful assumptions. | Interpreting the request |
| Review appearance or motion | Snapshot the saved document; use declared kinematics or animation for poses and clips. | Snapshots, kinematics |
| Diagnose a failure | Read the error and check the relevant model, geometry or command contract. | Repair loop, version migration |
For 2D DXF drawings use $dxf; this skill owns any 3D part the drawing projects.
Use the corresponding robot-description skill for URDF, SRDF or SDF.
Install this skill's requirements.txt with the active project interpreter.
Rendering also needs Chromium:
python -m pip install -r /path/to/installed/cad/requirements.txt
python -m playwright install chromium
Treat python in examples as the active interpreter. cadgen doctor <skill-dir>
checks the skill's package pin and CAD kernel; use it for installation or OCP
load errors. python -m cadgen.cli is the PATH-independent equivalent of
cadgen. Use the relevant subcommand's --help for additional flags.
Run project commands from the CAD project root. CLI input/output paths and
read_scene/read_step paths are working-directory-relative; decorator out=
paths are relative to the model script. Anchor file inputs on __file__
when the model must run from any directory.
A model is a plain Python script with a parameterless decorated function
returning a build123d shape. Use one model per entrypoint, with the script and
its declared outputs sharing a filename stem. For example, src/bracket.py:
from cadgen import build123d as bd
from cadgen import step
WIDTH = 40.0
@step(out="../STEP/bracket.step")
def bracket():
body = bd.Box(WIDTH, 20, 6)
body.label = "bracket"
return body
if __name__ == "__main__":
bracket()
python src/bracket.py
bd import above;
use postponed annotations when annotations mention bd types..moved() or Location * shape to preserve shared geometry. Use meaningful
occurrence labels and source-defined placements. Rerun the parent assembly
to incorporate a changed child.cadgen.read_step; it records the file as a
build input. Declare other data inputs with cadgen.declare_input. Never
read a model's own output as its input. Geometry must not depend on untracked
time, random values, environment variables or the working directory.$step-parts before making
placeholders. Record an unsuccessful search and any placeholder assumptions.For unfamiliar dimensions or interfaces, record the assumptions needed to model and verify them. Ask for missing information when it materially affects the requested result. Inspection and export requests do not need a modeling brief.
Stack @stl, @threemf or @glb on the model for outputs that should be
maintained on every run. A model may declare only meshes; STEP is optional.
For a one-off export from an existing generated or imported STEP:
cadgen stl build STEP/bracket.step STL/bracket.stl
cadgen 3mf build STEP/bracket.step 3MF/bracket.3mf
cadgen glb build STEP/bracket.step GLB/bracket.glb
Omitting OUT writes one sibling file with the requested extension. It does not discover declared model variants. See mesh exports for decorator examples, mesh tolerances and animated GLB.
A reference such as assembly.step#o1.2.f7 identifies geometry in a particular
saved document. Use the prompt's file context to select that document:
from cadgen import read_scene
scene = read_scene("STEP/assembly.step")
selection = scene.resolve("assembly.step#o1.2.f7")
face = selection.shape() # owned native geometry, in document world coordinates
print(selection.ref, face.area)
For a bare #o1.2.f7, use the identified target file. For a model-script prefix,
find its declared STEP output and resolve the #... portion there. Do not guess
between ambiguous files or labels. Numeric refs belong to that saved revision;
reopen and reselect after rebuilding. The inspection reference
covers label aliases, enumeration, measurements and small reusable operations.
There is no inspect CLI. Put exploratory checks in the project's ignored
tmp/ (or system /tmp/); retain reusable checks in checks/ or its existing
test directory. Keep them outside model-source and raw-output folders.
Choose checks from the requested dimensions, clearances and topology. For STEP
outputs, check the saved artifact with read_scene or read_step. For mesh-only
models, check the model's returned native geometry and review the mesh output;
do not add a STEP solely to satisfy the workflow. Report units, thresholds,
selected geometry and untested requirements. A failed computation is not a pass.
After creating or visibly changing geometry, generate and review at least one snapshot of the resulting STEP or mesh. Choose additional views to expose the features under review; see snapshot policy and options.
cadgen step snapshot STEP/bracket.step tmp/review.png
cadgen stl snapshot STL/bracket.stl tmp/mesh.png
Repair failures in the source and rerun the affected checks. Use geometry and
images for CAD comparisons; path-targeted git status is bookkeeping, not
geometric evidence. cadgen store why <model>.py explains unexpected rebuilds;
python <model>.py --force forces one model, and cadgen daemon status shows
build progress. More diagnostics are in the model contract.
For created or modified STEP/STP, STL, 3MF and GLB files, hand their explicit
paths to $cad-viewer when installed and include its returned live links.
If unavailable or startup fails, report that and use geometry checks and
snapshots. Include output files, reviewed PNGs, checks actually run, and
material assumptions or limitations in the final response. Explain any snapshot
skip or failure using the cases in the snapshot reference.