快速上手 cad_scan.py:patent-disclosure-skill 的 CAD/STEP 扫描教程与"先反问再安装"机制
【免费下载链接】patent-disclosure-skill中国专利.skill:专利点挖掘与交底书(发明/实用/外观)编写,通俗解读专利,嗅探政策动向,辅助审查答复。项目地址: https://gitcode.com/GitHub_Trending/pa/patent-disclosure-skill
patent-disclosure-skill是一个面向中国专利场景的 Agent 技能仓库:专利点挖掘与交底书(发明 / 实用 / 外观)编写、通俗解读专利、辅助审查答复。在处理实用新型、发明专利时,案件目录里经常会混入 SolidWorks、Creo、CATIA 等工程模型文件。那么问题来了——CAD/STEP 扫描该怎么做?答案就藏在 tools/shared/cad_scan.py 里:它用极轻量的方式先发现模型文件,再按"发现 STEP 就先反问、你确认后才安装依赖"的规则行事,绝不擅自装包。🔍
为什么需要 CAD/STEP 扫描?四类模型文件一次分清
专利交底书(尤其实用新型)经常需要装配图、爆炸图。如果你的knowledge/目录里躺着.sldasm、.prt、.step之类的模型文件,技能需要知道它们"能不能被解析、值不值得解析"。
后缀分类逻辑全部在 tools/shared/cad_formats.py 中,按后缀归为 4 类:
| 类别 | 典型后缀 | 说明 |
|---|---|---|
step | .step/.stp | 中性三维交换格式,唯一可被解析的目标 |
native_cad | .sldprt/.sldasm/.ipt/.iam/.prt/.asm/.catpart/.dwg等 | 各厂商原生 CAD,本技能不直接解析 |
iges | .iges/.igs | 同属中性几何,建议再导出为 STEP |
mesh | .stl/.3mf/.obj | 网格文件,单独列出、弱提示 |
分类只靠文件名后缀,不需要 CadQuery 等任何重依赖——这意味着扫描可以在任何环境秒级跑完,这就是"轻量扫描"的核心设计。
一步命令:cad_scan.py 如何使用?
扫描入口是 tools/shared/cad_scan.py,支持重复传入多个扫描根目录:
python tools/shared/cad_scan.py -r knowledge -r outputs/case --json它递归遍历目录(可用--no-recursive关闭),把命中的文件按类去重、排序,最终输出 JSON 报告。报告里最关键的字段是action,由 cad_formats.py 中的recommend_action()决策:
- 只要存在 STEP →
ask_enable_step_parse - 只有原生 CAD / IGES →
hint_export_step - 什么都没扫到 →
none
三种决策结果:先反问,再安装,或温柔提示
这正是本技能"先反问再安装"机制的落点,完整规则写在扫描提示词 prompts/disclosure/project_scan.md 中:
action值 | Agent 的行为 |
|---|---|
ask_enable_step_parse | 立即中断后续挖点/成文,展示step_files清单并反问:"是否开启 STEP 多视角解析?请回复 是 / 否"。未获"是"之前禁止安装依赖 |
hint_export_step | 不中断流程,仅在回复末尾提示:可先在 SolidWorks / Creo / Inventor 中另存为 STEP,之后再开启解析 |
none | 无 CAD 相关文件,忽略 |
反问与提示文案同样来自 cad_formats.py,例如检测到 STEP 时的原话是:
扫描发现
.step/.stp。是否开启 STEP 多视角解析?(默认关;选「是」将延迟安装 CadQuery 等依赖并生成多视角图。)请回复是或否。
为什么要这么设计?因为解析 STEP 需要 CadQuery、OCCT 等体积不小的依赖,写在独立的 tools/shared/requirements-step.txt 中,默认不安装。把"装包"这个重动作交给用户一句"是"来解锁,既尊重用户环境,也避免无谓的下载。
用户回复"是"之后:依赖安装与多视图生成
确认开启后,流程是三步走(见 prompts/disclosure/project_scan.md 的「用户回复是后」章节):
pip install -r tools/shared/requirements-step.txt(延迟安装 CadQuery 等)python tools/shared/step_to_views.py --check-deps预检依赖python tools/shared/step_to_views.py --enable-step-parse -i model.step -o outputs/{案件标识}/cad_views
产出物包括views/*.png(iso / front / top / right 四个标准工程视图)、assembly_tree.yaml装配树、以及可直接喂给填表流程的structure_schema.seed.yaml与figure_plan.seed.yaml种子文件。
tools/shared/step_to_views.py 自身也有双保险:不带--enable-step-parse标志(或环境变量PATENT_SKILL_STEP_PARSE=1)时,拒绝执行转换——即使依赖装好了,脚本也不会"抢跑"。
动手试一试:用内置示例案件跑一遍
仓库自带一个实用新型示例,里面就放了一个教学用 STEP 文件,非常适合练习:
- 示例目录:examples/example_utility_model_snap_heatsink/knowledge/
- 教学 STEP 文件:examples/example_utility_model_snap_heatsink/knowledge/cad/demo_snap_plate.step
对knowledge/跑一次cad_scan.py,你会看到action正是ask_enable_step_parse——这套"扫描 → 反问"链路在 tests/shared/test_cad_step_scan.py 中还有对应的自动化测试,包括"仅有原生 CAD 时给导出提示""解析开关默认关闭"等边界场景,可以放心参考其行为预期。
小结:三步记住这套机制
- 🧹扫得快:
cad_scan.py只看后缀、零重依赖,秒级分好 4 类模型文件 - ❓问在先:发现 STEP 立即中断反问,没得到"是"就绝不装包、绝不解析
- 📦装在后:确认后才延迟安装 requirements-step.txt,并生成四视角 PNG 与结构种子文件
对新手来说,这套"先反问再安装"的设计是一个很好的范例:把重依赖、重决策都放在用户确认之后,扫描本身保持轻量和无副作用。配合 INSTALL.md 完成技能安装后,你就能在自己的案件目录里完整体验这条 CAD/STEP 扫描链路了。
【免费下载链接】patent-disclosure-skill中国专利.skill:专利点挖掘与交底书(发明/实用/外观)编写,通俗解读专利,嗅探政策动向,辅助审查答复。项目地址: https://gitcode.com/GitHub_Trending/pa/patent-disclosure-skill
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考