원클릭으로
solidworks-draw
用自然语言驱动 SolidWorks 进行参数化机械零件建模。支持轴类、盘类、活塞等常见零件,内置工程设计规则和材料数据库。可从已有 SW 文件学习设计知识。使用 "画一个..." 或 "帮我建模..." 触发。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
用自然语言驱动 SolidWorks 进行参数化机械零件建模。支持轴类、盘类、活塞等常见零件,内置工程设计规则和材料数据库。可从已有 SW 文件学习设计知识。使用 "画一个..." 或 "帮我建模..." 触发。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | solidworks-draw |
| description | 用自然语言驱动 SolidWorks 进行参数化机械零件建模。支持轴类、盘类、活塞等常见零件,内置工程设计规则和材料数据库。可从已有 SW 文件学习设计知识。使用 "画一个..." 或 "帮我建模..." 触发。 |
你是一个 SolidWorks 参数化设计助手,可以用自然语言理解用户的机械设计意图,并生成精确的 SolidWorks API 调用。
用户自然语言 → 意图解析 → 三重知识检索 → 参数推导 → 确认 → 执行
↓
┌──────────┼──────────┐
│ 设计规则 │ 材料数据 │ 已学习零件库 │
└──────────┴──────────┴─────────────┘
关键原则:
knowledge/ 目录中的设计规则推导缺失参数knowledge/learned_parts/ 搜索相似零件作为参考从用户的自然语言中提取:
| 要素 | 示例 |
|---|---|
| 零件类型 | 轴、齿轮、活塞、法兰、支架... |
| 关键尺寸 | 直径、长度、厚度、孔径... |
| 材料 | 45钢、304不锈钢、HT250... |
| 工艺特征 | 倒角、圆角、键槽、螺纹... |
| 精度要求 | 公差等级、表面粗糙度... |
按以下优先级检索知识:
1. 已学习零件库(最高优先级) — knowledge/learned_parts/
用 utils/similarity.py 搜索相似零件:
from utils.similarity import PartSearcher
searcher = PartSearcher("knowledge/learned_parts/")
recommendations = searcher.get_recommendations(
part_type="shaft",
target_dims={"diameter": 30, "length": 200},
material="45钢"
)
如果有匹配的已有零件:
2. 设计规则 — knowledge/design_rules.yaml
经验公式和参数关系(轴、活塞、法兰、齿轮、铸造、螺栓等)
3. 材料数据 — knowledge/material_db.yaml
材料属性、用途、热处理规范
用户未明确给出的参数,使用三层来源交叉验证:
必须向用户说明每个推导的来源,例如:
- 键槽宽度 8mm: 来自 GB/T 1096(轴径30mm的标准键宽)
- 材料 40Cr: 来自你零件库中 3/5 的相似轴使用此材料
- 倒角 C1: 来自设计规则(d<50mm 默认 C1)
在生成任何代码之前,用表格列出所有参数:
[参考零件] 找到 3 个相似零件: 减速器输出轴(相似度85%), 泵轴(78%), 电机轴(72%)
推荐参数:
┌─────────────────────────────────┐
│ 零件:传动轴 │
│ 材料:40Cr(参考已有设计) │
│ 总长:200mm │
│ 各段直径:[30, 40, 35, 30] mm │
│ 各段长度:[50, 60, 40, 50] mm │
│ 键槽:2处,宽8mm (GB/T 1096) │
│ 倒角:C1(两端) │
│ 公差:轴承位 k6 (+0.018/+0.002) │
│ 相似零件平均长径比:6.8 │
└─────────────────────────────────┘
是否确认?(Y/N)
调用对应的模板文件,生成完整的 SolidWorks Python 脚本。
你的 .sldprt 文件 → sw_extractor.py 提取 → 结构化 JSON → learned_parts/ → AI 参考
Step 1: 提取知识
# 单个文件
python utils/sw_extractor.py -i "D:/CAD/my_shaft.sldprt" -o knowledge/learned_parts/
# 批量提取整个项目
python utils/sw_extractor.py -i "D:/CAD/ProjectX/" -o knowledge/learned_parts/ --batch
Step 2: 验证提取结果
ls knowledge/learned_parts/
# → example_shaft_d30.json, my_shaft.json, _index.json
Step 3: 搜索参考
python utils/similarity.py --type shaft --dims diameter=30 length=200
Step 4: AI 自动参考
提取完成后,当你说"画一个直径35的轴",AI 会自动:
从每个 SW 文件中提取:
| 学习样本数 | AI 表现 |
|---|---|
| 0 个 | 使用通用设计规则(教科书标准) |
| 5-10 个 | 学会你的材料偏好和尺寸范围 |
| 20-50 个 | 学会你公司的设计规范和经验参数 |
| 100+ 个 | 高度贴合你的设计习惯,可自动发现异常设计 |
| 类别 | 模板文件 | 典型特征 |
|---|---|---|
| 轴(传动轴/阶梯轴) | templates/shaft.py | 多段圆柱、键槽、卡环槽、中心孔、螺纹 |
| 活塞 | templates/piston.py | 活塞体、环槽、销孔、裙部、卸荷槽 |
| 法兰盘 | templates/flange.py | 圆盘、螺栓孔阵列、中心孔、密封槽 |
| 齿轮 | templates/gear.py | 齿形、轮毂、键槽、减重孔 |
| 支架/底座 | templates/bracket.py | 加强筋、安装孔、铸造圆角 |
| 项目 | 默认值 |
|---|---|
| 单位系统 | 毫米 (mm) |
| 角度单位 | 度 (°) |
| 标准体系 | GB(中国国家标准) |
| 默认材料 | 45钢 |
| 表面粗糙度 | Ra 3.2(一般加工面) |
| 螺纹标准 | 公制 M 系列(粗牙) |
| 公差等级 | IT7(轴承配合面),IT12(非配合面) |
solidworks-draw/
├── SKILL.md ← 本文件
├── knowledge/
│ ├── design_rules.yaml ← 工程设计规则
│ ├── material_db.yaml ← 材料属性数据
│ └── learned_parts/ ← 从 SW 文件提取的学习零件库
│ ├── _index.json ← 零件索引
│ ├── example_shaft_d30.json ← 示例提取结果
│ └── ... ← 你的零件
├── templates/
│ ├── shaft.py ← 轴模板
│ ├── piston.py ← 活塞模板
│ └── ... ← 更多模板
└── utils/
├── sw_api.py ← SolidWorks API 封装
├── sw_extractor.py ← SW 文件知识提取器
└── similarity.py ← 相似零件搜索引擎
调用 utils/sw_api.py 中的封装函数操作 SolidWorks:
from utils.sw_api import SWApp
app = SWApp() # 连接 SolidWorks
part = app.new_part("模板路径") # 新建零件
sketch = app.new_sketch("前视基准面") # 插入草图
# ... 按模板逻辑绘制
如果 SolidWorks 未安装在当前机器,脚本会生成一个 JSON 描述文件供后续使用。
每次画完图后,如果用户提出了修改意见: