其他
用 cadgen 创建/编辑参数化 CAD…
需要创建或修改 CAD 零件/装配、导出 STEP/STL/3MF/GLB、解析提示中的几何引用并按尺寸和拓扑验证时,按 cadgen 工作流操作。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 40/100 ×0.15
适用场景
用 cadgen 创建/编辑参数化 CA特定
解决思路
- 只阅读请求所需的参考文档:创建/编辑零件或装配查 references/step-generation.md、references/build123d-modeling.md,装配定位查 references/positioning.md;组织项目查 references/project-layout.md、references/project-template.md;导出查 references/supported-exports.md;解析引用和检查查 references/inspection-and-validation.md#reference-syntax;从图片/图纸建模查 references/cad-brief.md;审查外观/运动查 references/snapshot-review.md、references/kinematics.md;诊断失败查 references/repair-loop.md、references/migrations.md。
- 创建或编辑零件/装配:查找现有 Python 模型;没有则创建带装饰器的模型;编辑源码并运行 `python <model>.py`。
- 组织 CAD 项目:遵循其现有布局;新建多模型项目使用 `src/`、按格式分输出文件夹和模型目录(model catalog)。
- 导出 STL、3MF 或 GLB:对需要维护的输出添加 mesh decorator;一次性导出运行对应格式的 `build INPUT.step OUT` 命令。
- 解析提示中的引用:识别其保存的 STEP/STP 文档,用 `read_scene` 打开,并调用 `scene.resolve(ref)`。
- 测量或检查几何:用原生 build123d 几何编写 Python 检查,必要时使用 `cadgen.geometry`。
- 从图片或图纸建模:提取指定尺寸并记录有意义的假设。
- 审查外观或运动:对保存的文档做快照;用已声明的运动学或动画生成姿态和片段。
- 诊断失败:读取错误并检查相关模型、几何或命令契约。
- 2D DXF 图纸使用 `$dxf`;本技能只负责该图纸投影出的 3D 零件。
- URDF、SRDF 或 SDF 使用对应 robot-description 技能。
- 用当前项目解释器安装本技能的 `requirements.txt`。
- 渲染还需要 Chromium:运行 `python -m pip install -r /path/to/installed/cad/requirements.txt` 和 `python -m playwright install chromium`。
- 示例中的 `python` 视为当前活动解释器。
- 用 `cadgen doctor <skill-dir>` 检查技能包 pin 和 CAD kernel;安装或 OCP 加载错误时使用。
- `python -m cadgen.cli` 是 `cadgen` 的不依赖 PATH 的等价形式。
- 用相关子命令的 `--help` 查看额外参数。
- 从 CAD 项目根目录运行项目命令。
- CLI 输入/输出路径以及 `read_scene`/`read_step` 路径相对于工作目录;decorator 的 `out=` 路径相对于模型脚本。
- 当模型必须能从任意目录运行时,用 `__file__` 锚定文件输入。
- 模型是普通 Python 脚本,包含无参数、带装饰器、返回 build123d shape 的函数。
- 每个入口点一个模型,脚本与其声明的输出使用相同文件名主干。
- 模型已存在时编辑源码,然后运行它以重新生成输出。
- 文档导出和快照命令接收已保存文件,绝不运行源码。
- 保持有意义尺寸显式;除非任务或项目另有指定,使用毫米和 XY/+Z;选择有用的功能基准。
- 物理零件优先用闭合、正体积实体;同时按请求支持曲面或构造几何。
- 将参数化几何放在普通工厂函数中;由带装饰器的模型选择配置。
- 保持模块主体轻量:在模型或其 helper 内创建几何并读取 CAD 输入。
- 使用惰性 `bd` 导入;当注解提到 `bd` 类型时使用延迟注解(postponed annotations)。
- 在装配模型中调用子模型。
- 用 `.moved()` 或 `Location * shape` 放置子模型结果,以保留共享几何。
- 使用有意义的 occurrence 标签和源中定义的放置;重新运行父装配以纳入变更的子模型。
- 用 `cadgen.read_step` 读取供应商 STEP 输入;它会把文件记录为 build input。
- 用 `cadgen.declare_input` 声明其他数据输入。
- 绝不把模型自己的输出读作其输入。
- 几何不得依赖未跟踪的时间、随机值、环境变量或工作目录。
- 需要具名可购零件时,先搜索 `$step-parts` 再创建占位符。
- 记录未成功的搜索和任何占位符假设。
- 对不熟悉的尺寸或接口,记录建模和验证所需的假设。
- 缺失信息会实质影响请求结果时,主动询问。
- 检查与导出请求不需要建模 brief。
- 对每次运行都要维护的输出,在模型上叠加 `@stl`、`@threemf` 或 `@glb`。
- 模型可以只声明 mesh;STEP 可选。
- 从已有生成或导入的 STEP 做一次性 STL 导出:`cadgen stl build STEP/bracket.step STL/bracket.stl`。
- 从已有生成或导入的 STEP 做一次性 3MF 导出:`cadgen 3mf build STEP/bracket.step 3MF/bracket.3mf`。
- 从已有生成或导入的 STEP 做一次性 GLB 导出:`cadgen glb build STEP/bracket.step GLB/bracket.glb`。
- 省略 OUT 会在同目录写入一个带所请求扩展名的文件;它不会发现声明的模型变体。
- 查看 mesh exports 参考以了解 decorator 示例、mesh tolerance 和动画 GLB。
- 形如 `assembly.step#o1.2.f7` 的引用标识某个已保存文档中的几何;用提示的文件上下文选择该文档。
- 解析引用的代码:`from cadgen import read_scene`;`scene = read_scene('STEP/assembly.step')`;`selection = scene.resolve('assembly.step#o1.2.f7')`;`face = selection.shape()`;`print(selection.ref, face.area)`。
- 对裸 `#o1.2.f7`,使用已识别的目标文件。
- 对模型脚本前缀,找到其声明的 STEP 输出并在那里解析 `#...` 部分。
- 不要在模糊文件或标签之间猜测。
- 数字引用属于该已保存修订版;重建后重新打开并重新选择。
- 查看 inspection reference 以了解标签别名、枚举、测量和小型可复用操作。
- 没有 inspect CLI;把探索性检查放在项目忽略的 `tmp/`(或系统 `/tmp/`)。
- 将可复用检查保留在 `checks/` 或现有测试目录,且不要放在模型源码和原始输出文件夹中。
- 根据请求的尺寸、间隙和拓扑选择检查。
- 对 STEP 输出,用 `read_scene` 或 `read_step` 检查已保存 artifact。
- 对仅 mesh 模型,检查模型返回的原生几何并审查 mesh 输出;不要仅为满足流程而添加 STEP。
- 报告单位、阈值、所选几何和未测试需求;失败的计算不算通过。
- 创建或明显改变几何后,至少生成并审查一张结果 STEP 或 mesh 的快照。
- 选择额外视图以暴露被审查特征;参见 snapshot policy 和 options。
- 生成 STEP 快照:`cadgen step snapshot STEP/bracket.step tmp/review.png`。
- 生成 STL 快照:`cadgen stl snapshot STL/bracket.stl tmp/mesh.png`。
- 在源码中修复失败并重新运行受影响的检查。
- 用几何和图像做 CAD 对比;路径限定的 `git status` 是簿记,不是几何证据。
- 用 `cadgen store why <model>.py` 解释意外重建。
- 用 `python <model>.py --force` 强制重建一个模型。
- 用 `cadgen daemon status` 查看构建进度。
- 更多诊断见 model contract 参考。
- 对创建或修改的 STEP/STP、STL、3MF 和 GLB 文件,在安装 `$cad-viewer` 时把显式路径交给它,并包含其返回的 live links。
- 如果 `$cad-viewer` 不可用或启动失败,报告该情况并使用几何检查和快照。
- 最终响应包含输出文件、审查过的 PNG、实际运行的检查,以及重要假设或限制。
- 用 snapshot reference 中的情况解释任何快照跳过或失败。
适用边界 · 注意事项
- 2D DXF 图纸应使用 `$dxf`;本技能仅负责该图纸投影出的 3D 零件。
- URDF、SRDF 或 SDF 应使用对应 robot-description 技能。
- 未安装本地 `cad` skill/cadgen、requirements 或 Chromium/Playwright 且无法安装时不宜使用;渲染与快照会不可用。