name: fdm-3d-print-agent description: FDM 3D打印智能体;验证模型可打印性(壁厚/悬垂/桥接/流形)、通过Blender参数化修改与导出STL/3MF、母版模板快速生成。触发词:3D打印、FDM、STL验证、壁厚检查、悬垂检测、模型修复、参数化建模、Blender导出、母版生成、打印可行性、切片前检查。 dependency: python: - numpy>=1.24.0 - trimesh>=4.0.0 - scipy>=1.10.0 system: - blender>=3.0
FDM 3D打印智能体
核心流程
用户输入 → 分类路由 → FDM规则验证 → CAD修改/母版生成 → 导出STL/3MF → 完成
1. 模型分类路由
调用 scripts/model_analyzer.py 判断工程件/艺术件,决定路由到 Blender 还是生成 Fusion 360 脚本。
python scripts/model_analyzer.py --input <file> --user-hint "<描述>"
输出: {"type": "engineering"|"artistic", "confidence": 0.0-1.0, "reason": "..."}
- 工程件 → Blender 参数化修改 或 生成 Fusion 360 Add-In 脚本
- 艺术件 → Blender 修改器处理
2. FDM 规则验证
调用 scripts/fdm_rules.py 执行可打印性检查:
python scripts/fdm_rules.py --input <mesh_file> --check-all --tolerance-type <tight|sliding>
| 检查项 | 阈值 | 严重级别 |
|---|---|---|
| 壁厚 | ≥1.2mm(强制) / ≥2.0mm(推荐) | error/warning |
| 悬垂角 | ≤45° | warning |
| 桥接跨度 | ≤10mm(PLA) | warning |
| 流形性 | 水密 | error |
| 公差 | 0.15mm(紧密) / 0.3mm(活动) | 参考 |
也可单独检查: --check-wall, --check-overhang, --check-bridge, --check-manifold
3. CAD 修改与导出
Blender 驱动 (推荐)
python scripts/blender_driver.py --input <file> --modifier <SOLIDIFY|BOOLEAN|REMESH|BEVEL|REPAIR> --output <path> --format <STL|3MF|OBJ>
| 修改器 | 关键参数 | 用途 |
|---|---|---|
| SOLIDIFY | --thickness |
加薄壁 |
| BOOLEAN | --operation UNION/DIFFERENCE/INTERSECT --object1 --object2 |
布尔运算 |
| REMESH | --voxel-size |
重网格化 |
| BEVEL | --width --segments |
倒角(减少悬垂) |
| REPAIR | (无额外参数) | 自动修复非流形边+孔洞 |
导出前自动检测流形性,REPAIR 模式自动修复。
Fusion 360 脚本生成
python scripts/fusion360_driver.py --action generate-script --script-type <get_parameters|set_parameter|export_stl> --param-name <name> --param-value <value>
生成 Fusion 360 Add-In 脚本(使用 adsk.core/adsk.fusion API),用户需在 Fusion 360 内执行。
不支持 COM 直接调用——Fusion 360 无 COM ProgID。
4. 母版模板快速生成
python scripts/master_model_manager.py --action <list|load|set-param|validate|generate-spec|generate-script> --template <name> --params-json '{"width":40}'
内置模板: box, cylinder, gearbox, enclosure, vase
用户自定义模板放入 assets/templates/ (JSON 格式,参见该目录 README.md)。
5. 专用生成器
python scripts/generate_mic_handle.py --mic-width 30 --mic-depth 20 --tolerance 0.15 --output <path>
麦克风把手生成器,所有尺寸可参数化。
资源索引
脚本
- scripts/model_analyzer.py: 模型分类器
- scripts/fdm_rules.py: FDM规则验证引擎
- scripts/blender_driver.py: Blender命令行驱动
- scripts/fusion360_driver.py: Fusion 360 Add-In脚本生成器
- scripts/master_model_manager.py: 母版管理器
- scripts/generate_mic_handle.py: 麦克风把手生成器
参考
- references/fdm_specs.md: FDM工艺规范(壁厚/公差/悬垂/桥接/流形详细说明)
- references/slicer_guide.md: 切片器CLI集成指南(Cura/PrusaSlicer)
资产
- assets/templates/: 母版模板目录
注意事项
- Blender 驱动需
blender已加入系统 PATH - Fusion 360 驱动生成的是 Add-In 脚本,需在 Fusion 内部执行(非 COM)
- 导出前务必执行 FDM 规则验证
- 非流形几何 → 使用
--modifier REPAIR自动修复 - 3MF 导出需 Blender 启用 3MF 插件(Edit → Preferences → Add-ons)
- 大尺寸模型(>500mm)需特殊打印考虑,验证器会发出 warning