بنقرة واحدة
sw-designer
SW设计狮——结合IMA知识库"SW设计狮"(10篇)和"SW教程合集"(45个教程)双知识库的SolidWorks专业设计指导skill。专注参数化设计、自动化建模、批量零件设计、性能优化、设计规范与最佳实践。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
SW设计狮——结合IMA知识库"SW设计狮"(10篇)和"SW教程合集"(45个教程)双知识库的SolidWorks专业设计指导skill。专注参数化设计、自动化建模、批量零件设计、性能优化、设计规范与最佳实践。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | sw-designer |
| description | SW设计狮——结合IMA知识库"SW设计狮"(10篇)和"SW教程合集"(45个教程)双知识库的SolidWorks专业设计指导skill。专注参数化设计、自动化建模、批量零件设计、性能优化、设计规范与最佳实践。 |
| category | engineering-cad |
| version | 2.6.0 |
| author | Delancy |
本skill融合了两个IMA知识库的核心知识:
参数化设计本质是用参数、变量及数学关系驱动设计对象变化,实现自动化与智能化。
参数与变量:
数学关系与方程式:
外径 = 模数 × (齿数 + 2))1. 尺寸驱动与方程式
长度 = 宽度 * 2,齿轮模数 → 齿数 → 齿宽2. 配置管理器
3. 设计表驱动
4. API二次开发
来自「SW设计狮」知识库的实战总结:
| 错误类别 | 典型问题 | 解决方案 |
|---|---|---|
| 参数定义错误 | 名称含空格/特殊符号(@#)导致方程式无法识别 | 只用英文/数字/下划线命名(Length_1) |
| 单位不一致 | 毫米与英寸混用导致计算结果错误 | 统一全局单位,或方程式中显式转换(长度=10*25.4) |
| 关联逻辑错误 | 循环引用(A=B, B=A);参数引用被压缩/删除的特征 | 检查方程式依赖关系;不要压缩含全局变量的特征 |
| 配置管理错误 | 不同配置尺寸冲突;设计表格式错误 | 逐一验证配置尺寸;设计表命名与SW一致 |
| 软件操作错误 | 全局变量修改后未重建模型(Ctrl+Q) | 修改参数后务必强制重建 |
命名铁律:只用英文/数字/下划线,禁止空格和特殊符号!
| 级别 | 方法 | 适用场景 |
|---|---|---|
| 初级 | 宏录制与回放 | 简单重复建模(标准件快速生成) |
| 中级 | API二次开发 | 复杂模型自动化生成、批量修改 |
| 高级 | 配置驱动+API | 产品系列化、企业级自动化 |
操作步骤:
适用:简单重复任务,如标准件快速生成。
工具选择:
核心API功能:
AddComponent、FeatureExtrusion)# 宏录制 → API转换示例
import win32com.client
sw = win32com.client.Dispatch("SldWorks.Application")
sw.Visible = True
sw.NewPart()
model = sw.ActiveDoc
model.Extension.SelectByID2("Front Plane", "PLANE", 0, 0, 0, False, 0, None, 0)
model.SketchManager.InsertSketch(True)
model.SketchManager.CreateCircle(0, 0, 0, 0.025, 0, 0)
model.SketchManager.InsertSketch(True)
model.FeatureManager.FeatureExtrusion3(True, False, False, 0, 0, 0.05, 0.05,
False, False, False, False, 0, 0, False, False, False, False)
模型项目自动提取设计意图标注到工程图;可通过API开发定制化标注插件方法1:系列零件设计表
方法2:配置管理器
方法3:方程式驱动 + API
直径 = 长度 / 2)| 组件 | 建议 |
|---|---|
| 存储 | SSD固态硬盘(系统和SW安装在此) |
| 内存 | 8GB以上(越大越好,减少虚拟内存依赖) |
| 显卡 | NVIDIA/AMD专业卡(Quadro/FirePro) |
| CPU | Intel i5/i7,双核高主频64位,≥2.8GHz |
启用轻化模式:
显示优化:
大装配专项:
| 零件类型 | 推荐策略 |
|---|---|
| 轴类零件 | 旋转 + 阵列 |
| 板类零件 | 拉伸 + 切除 |
| 壳体零件 | 实体 → 抽壳 |
| 曲面产品 | 曲面 → 加厚/实体化 |
| 管件/线材 | 扫描特征 |
| 铸造件 | 基体 + 拔模 |
| 塑料件 | 主壳体 + 加强筋 |
| 钣金件 | 钣金模块专用工具 |
⛔ 圆角不要放前面!
| 报错 | 原因 |
|---|---|
| 拉伸"无法生成" | 草图交叉/不封闭 |
| 圆角报错 | 半径大于相邻面 |
| 抽壳失败 | 最小圆角 < 壁厚 |
| 放样扭曲 | 各截面点数不一致 |
| 扫描变形 | 路径曲率突变 |
配合类型:重合(面贴面)、同心(轴孔)、宽度(居中)、对称(镜像件)
大装配优化:轻化模式 → 子装配体 → SpeedPak → 大型装配体模式
总体尺寸 → 定位尺寸 → 定型尺寸 → 公差 → 形位公差 → 粗糙度
❌ 禁止:封闭尺寸链、重复标注、真视图标隐藏线
自动化标注技巧:用「模型项目」自动提取设计意图 → 智能尺寸 → 自动排列
G0→G1→G2 连续性;斑马条纹检查;能做实体不碰曲面
K因子:钢0.44 / 不锈钢0.35 / 铝0.33 / 铜0.35 最小折弯半径≥板厚;孔距折弯边≥2T+R
3D草图→结构构件→剪裁→切割清单;优先ISO/DIN/GB标准型材
拔模分析→分型面→关闭曲面→型腔分离 拔模角:ABS 1°-2° / PP 1.5°-3° / 铝压铸 2°-5°
简化原则:去装饰特征→对称一半→螺栓接头→焊接接合 安全系数>1.5(静载)
内流→压降+流速分布;外流→阻力系数;共轭传热→温度场
排样优化:材料利用率 η = (n × A / S × h) × 100%
| 排样类型 | 利用率 | 适用 |
|---|---|---|
| 单排直排 | 40~50% | 圆形件 |
| 对排 | 60~70% | 矩形件 |
| 多排 | 70~80% | 小件大批量 |
| 套裁 | 80~90% | 大小零件配合 |
落料力:F₁ = K·L·t·τ(K=1.3, τ=抗剪强度)
冲孔力:F₂ = K·L·t·τ
卸料力:F卸 = K卸·F₁(K卸=0.03~0.07)
推件力:F推 = K推·F₁·n(K推=0.05~0.10)
总压力:F总 = F₁ + F₂ + F卸 + F推
压力中心:多孔/非对称件用加权平均,必须与模柄中心重合(偏差≤10%)
| 类型 | 工序数 | 精度 | 效率 | 适用 |
|---|---|---|---|---|
| 单工序模 | 1 | 高 | 低 | 大批量单一工序 |
| 复合模 | 2 | 最高 | 中 | 高精度小批量 |
| 级进模 | 多 | 高 | 最高 | 大批量小型件 |
倒装 vs 正装复合模:倒装出件在上模(安全)、正装出件在下模漏料(适合厚料 t>2mm)
| 缺陷 | 原因 | 解决方案 |
|---|---|---|
| 毛刺大 | 刃口钝化/间隙不均 | 重磨刃口/调整间隙 |
| 塌角大 | 间隙过大 | 减小间隙 |
| 制件尺寸超差 | 刃口磨损/回弹 | 更换刃口/补偿回弹 |
| 模具开裂 | 热处理不当/应力集中 | 优化热处理/增加圆角 |
| 条料卡死 | 卸料力不足 | 增大卸料弹簧力 |
常用国标:
模具零件表面粗糙度:刃口面 Ra0.40.8μm / 导向面 Ra0.81.6μm / 固定面 Ra1.63.2μm / 毛坯面 Ra12.525μm
课程设计说明书标准结构:封面→目录→工艺性分析→工艺方案→排样计算→冲裁力计算→刃口尺寸→模具结构→材料与热处理→总结→参考文献
| 知识库 | 内容 | 量 |
|---|---|---|
| SW设计狮(阿荣) | 参数化设计错误归类、自动化建模方法、批量设计、性能优化、系统要求、参数化核心原理 | 10篇笔记 |
| SW教程合集 | 快速入门、零件装配体、工程图、高级教程、曲面、钣金、焊件、模具、Simulation、Flow、电气、PDM、MBD | 45个资源 |
配合使用:solidworks-automation skill 负责写代码建模,SW设计狮负责告诉AI"怎么设计才对"。
来源:叉形接头(Clevis Joint)全自动建模 12+ 轮死磕经验。
看到"叉耳/clevis"类图纸时,先读三视图主方向:
| 图纸特征 | 类型 | 设计策略 |
|---|---|---|
| 底部是圆盘或圆柱底座,上方竖起双耳,正视孔在竖耳圆头内,侧视显示中间槽底高度 | 竖直叉耳支座 | 先底座,再槽底实体桥,再两片耳板,最后孔 |
| 零件像水平连杆,端部开叉,柄部和叉部沿同一水平轴展开 | 水平叉形接头 | 先叉部基体,再柄部,再槽和端孔 |
竖直叉耳支座的尺寸优先级:底座直径/高度 → 耳总高/宽度 → 耳包深度/槽宽 → 槽底高度 → 孔径/孔心。侧视图中的槽底高度不是装饰线,必须建成槽底以下实体连接、槽底以上中间贯通镂空。若图纸没有给出孔心到基准的完整尺寸,可先按圆头半圆圆心推断,并在输出中标注"孔心由 R=耳宽/2 推断"。
对叉形接头这类"连接件"的自动化建模,推荐以下分段策略:
| 阶段 | 操作 | 关键 |
|---|---|---|
| 1 | 前视基准面拉伸右侧叉部基体 | 90×50×50mm,以原点为起点 |
| 2 | 遍历后端面(X 最小面),拉伸左侧扁柄 | 70×50×25mm,Z 轴居中(上下各缩进 12.5mm) |
| 3 | 柄部末端 R25 半圆弧 + Φ18 通孔 | 圆心在 X=-0.045m, Z=0.025m |
| 4 | 叉部顶面 U 形槽 75×25mm + 双侧 Φ18 通孔 | 槽 Z 轴 0.0125~0.0375m 居中 |
⚠️ 前视基准面的草图坐标系映射:
CreateCornerRectangle(X1,Y1,Z1, X2,Y2,Z2) → Z 坐标控制垂直位置⚠️ CreateArc 端点必须在圆上:
| 面名称 | 定位方法 | 可靠性 |
|---|---|---|
| "前视基准面" | SelectByID2 + 双语兜底 | ⭐⭐⭐⭐ |
| "后端面"(X 最小) | GetBodies2 → GetFaces → GetBox 找 minX | ⭐⭐⭐⭐⭐ |
| "顶面"(Y 最大) | GetBodies2 → GetFaces → GetBox 找 maxY | ⭐⭐⭐⭐⭐ |
⚠️ 不推荐 SelectByRay 射线法 → 参数计算复杂,几何变形后容易脱靶。
叉形接头柄部居中:
总高 50mm → 居中后:Z 从 12.5mm 到 37.5mm(0.0125m ~ 0.0375m)
U 形槽居中:
叉部总宽 90mm,槽深 75mm → 槽从 X=0.090m 到 X=0.015m
槽宽 25mm 居中 → Z 从 12.5mm 到 37.5mm
1. 先用 Stage 验证(简单方块+切除)确认 API 连接和编译环境 ✅
2. 再写完整建模脚本,每步加验证(特征计数比对 + ForceRebuild3)
3. 每个 API 调用后检查返回值 + 特征计数
4. 失败立即 return(熔断),不在错误基础上继续
5. 日志全量输出到文件(log.txt),方便远程调试
本章来自Clevis_Joint叉形接头正交重构 + 双机跨机验证的全部血泪教训。 这些是设计方法论的边界规则——cad-automation负责怎么写代码,sw-designer负责告诉AI"这些设计决策绝对不能做"。
设计意图:每次建模启动时,必须假定SW处于"脏状态"——可能有之前测试遗留的未保存文档。
设计规范:
CloseDoc不会保存,直接关闭——这是设计意图,不是bug设计检查清单:
☐ 启动时是否先关闭了所有活动文档?
☐ 异常处理中是否关闭了当前文档?
☐ 是否禁止了在已有文档上"追加"建模?
设计意图:特征数是"过程指标",实体数是"结果指标"。设计验证必须看结果。
设计规范:
GetFeatureCount本质上是"你走了多少步",不是"你走到了哪里"GetBodies2(solidBody)才是"你最终有几个实体"——这才是验证的硬标准验证层级:
L1: API返回值 != null → 调用层面(最弱)
L2: GetFeatureCount 增加 → 过程层面(有假阳性)
L3: GetBodies2 实体数匹配 → 结果层面(✅ 唯一可信任)
设计意图:永远在世界的绝对坐标系中描述几何,永远不在实体的局部面上建基准。
为什么这是设计决策而非实现细节:
设计规范:
| 做法 | 设计后果 |
|---|---|
SelectByRay 选实体面建草图 | 局部坐标系、面名不稳定、不可复现 |
| 系统基准面 + 绝对坐标 | 纯世界坐标、100%可复现、跨SW版本一致 |
设计意图:切穿整个零件,而非切特定深度。这是设计语义的选择。
何时用双向贯穿(ThroughAllBoth):
为什么不用特定深度:
设计认知:上视基准面(Top Plane)的2D草图坐标系与世界3D坐标系存在映射翻转。
| 基准面 | 草图X→世界 | 草图Y→世界 | 设计影响 |
|---|---|---|---|
| 前视 (Front) | X | Y | 正常画图 |
| 上视 (Top) | X | -Z | Y正=Z负,向下尺寸取负 |
| 右视 (Right) | Z | Y | 正常画图 |
设计规范:在生成代码前,必须先确定使用的基准面→推导坐标映射关系→写入注释。
设计意图:不是所有API在所有环境下都可用。设计时必须考虑实现路径的可用性。
| 级别 | 策略 | 适用特征类型 |
|---|---|---|
| Tier 1 | Python COM (win32com) | 简单操作:草图、选择、视图 |
| Tier 2 | Python → VBA宏注入 | 复杂特征:FeatureExtrusion2/FeatureCut4/HoleWizard5 |
| Tier 3 | C# exe(非sandbox) | 全功能建模,需Interop DLL |
设计规范:优先设计Tier 1的特征(草图+简单拉伸),把复杂切除/圆角留给Tier 2/3。
以下是从设计到代码时最常见的5个"设计对、代码错"的陷阱:
| # | 设计意图 | 常见实现错误 | 正确实现 |
|---|---|---|---|
| 1 | 合并实体 | Merge放在参数3 | Merge是第18参数 |
| 2 | 偏移起点 | StartOffset=1 | 用InsertRefPlane(8,dist)平替 |
| 3 | 双向切除 | FeatureCut4 Sd=true | Sd=false |
| 4 | 圆弧倒角 | CreateArc | Create3PointArc |
| 5 | 上视向下 | Y正坐标 | Y坐标取负值 |
| 6 | 同一草图多轮廓 | 矩形+圆画在同一草图 | 分两步:先矩形拉伸→再画圆切除 |
| 7 | 3D视图截图 | PrintWindow/BitBlt (GDI) | SW用OpenGL渲染,GDI捕获垃圾数据。必须SaveAs JPG |
💡 雷区6详解:SW的FeatureExtrusion2/Cut4对同一草图内不相交的多个轮廓处理不可靠。 跨机验证发现:矩形+圆两个轮廓在同一草图时,特征静默失败(不报错但不生成几何)。 设计铁律:每次画草图 → 立即拉伸/切除 → 再画下一个草图。绝不混画。
💡 雷区7详解:跨机验证确认——
PrintWindow(BitBlt)是GDI函数,SW 3D视图走OpenGL硬件渲染管线, GDI无法读取OpenGL帧缓冲,只能捕获到全负值(垃圾数据)。SaveAs("xxx.jpg")走SW内部渲染通道, 4视角截图MD5各不相同,证明截图真实有效。
| 版本 | 日期 | 核心变更 |
|---|---|---|
| v2.5.0 | 2026-06-02 | 新增七条雷区(含草图隔离+3D截图方法);冲压课设跨机复盘沉淀 |
| v2.4.0 | 2026-06-01 | 新增第十四章:正交几何设计六大铁律(跨机验证沉淀) |
| v2.3.0 | 2026-05-31 | 同步solidworks-automation架构升级(C#强类型) |
| v2.2.0 | 2026-05-24 | 新增第五章:设计检查清单 |
| v2.1.0 | 2026-05-22 | 新增第四章:批量设计策略 |
本章是验证方法论的设计层面表达——solidworks-automation Sec 25负责"怎么跑", 本章负责"为什么这么设计验证"和"设计决策的边界条件"。
从最弱到最强,一个设计只应该在 L3+ 才宣布"正确":
| 层级 | 验证方式 | 可信度 | 假阳性风险 |
|---|---|---|---|
| L1 | API返回值 != null | ⭐ | 极高——false不为null但生成的是废特征 |
| L2 | GetFeatureCount 增长 | ⭐⭐ | 高——空草图使计数+1但实体不变 |
| L3 | GetBodies2 实体数 + 包围盒 + 体积 | ⭐⭐⭐⭐ | 低——物理测量,但抓不到宏观逻辑错误 |
| L4 | VLM 三视图视觉交叉审查 | ⭐⭐⭐⭐⭐ | 极低——能发现"U形槽方向反了"这类L3抓不到的错 |
设计规范:任何自动化建模系统,验证必须到达 L3(几何内核物理校验)。L4(视觉QA)是工业量产级的进阶要求。
问题: "代码编译通过 + SW没报错" ≠ "模型画对了"
原因: C#编译器只检查语法, SW COM只返回API调用状态, 两者都不关心:
- 切除方向(切错了位置)
- 草图悬空(名义上有特征但几何空)
- 实体意外分裂(切除变成了新建凸台)
解决: 内环保证"代码能跑", 外环保证"模型对"
→ 双环分离是设计意图的表达, 不是实现细节
设计者必须为自动迭代设定边界——无限循环的设计不是正确的设计。
| 决策点 | 规则 | 设计理由 |
|---|---|---|
| 内环最大重试 | 5轮 | 超过5轮修复不了的编译错误通常是环境问题(DLL缺失) |
| 外环最大迭代 | 3~8轮(按复杂度) | 超出范围的错误说明设计意图本身有问题 |
| 同类型错误重复 | 3次 → 熔断 | 同样的修改反复失败 = 根本性错误, 不是参数微调能解决的 |
| 几何FAIL优先于视觉FAIL | 先修几何再修视觉 | 几何错误是"硬"错误(尺寸/数量), 视觉错误是"软"错误(方向/对称) |
VLM(多模态大模型)在三视图审查中的独特价值——它能理解"设计意图":
| 几何内核能抓的 | VLM才能抓的 |
|---|---|
| 实体数不对 | U形槽切了外侧而不是内侧(实体数都对但形状错) |
| 包围盒尺寸偏差 | 凸台偏左了(尺寸对但位置错) |
| 体积不对 | 孔是盲孔而非通孔(体积差太小几何阈值抓不到) |
| — | 耳片不对称(肉眼可见的几何错误) |
VLM Prompt 设计原则:
[待验证] ──内环编译──→ [编译通过] ──外环几何校验──
│
┌───────────────┴───────────────┐
▼ ▼
[几何PASS] [几何FAIL]
│ │
外环视觉QA 几何偏差数据
│ │
┌─────────┴─────────┐ │
▼ ▼ │
[视觉PASS] [视觉FAIL] │
│ │ │
✅ 完成 VLM修改意见 │
│ │
└────────┬───────────────┘
▼
合并反馈 → Refiner → 修改源码 → [待验证]
| 内容 | 归 cad-automation | 归 sw-designer |
|---|---|---|
| 内环编译代码(csc.exe调用 + 错误提取) | ✅ | — |
| GetBodies2/BoundingBox C#实现 | ✅ | — |
| 三视图截图 C#/Python 代码 | ✅ | — |
| VLM Prompt 模板 | ✅ | — |
| 验证层级体系的设计哲学(L1→L4) | — | ✅ |
| 迭代中止条件的设计决策 | — | ✅ |
| 几何错误 vs 视觉错误的优先级 | — | ✅ |
| 状态机转移规则 | — | ✅ |
| VLM裁判能力边界分析 | — | ✅ |
本章来自跨机测试机 bracket_v3→v9 迭代链的致命教训。"在斜侧面上建草图" 是跨6个版本、换了4种参数组合都没能修复的根因。
绝对禁止在斜面上新建草图用于拉伸/切除。
| 做法 | 后果 |
|---|---|
在50°斜面上 sel(x,y,z) → InsertSketch | 草图坐标系倾斜,拉伸方向无法垂直底座 |
即使 Direction=True/False/Flip 全试一遍 | 拉伸要么悬空要么方向错误 |
| 在倾斜面上画矩形 → 竖直拉伸 | 耳板是斜的,不符合工程图 |
正确的设计决策:
"在斜面上画草图" 在直觉上是合理的:耳板本来就长在斜坡上方。但这是人的空间直觉,不是SW 几何引擎的坐标系。
需要创建从底座延伸的竖直特征(耳片/凸台)?
├── 底座顶面是水平面? → 可以在顶面建草图(水平坐标系 = 世界 XZ 平面)
├── 底座侧面是斜面? → ⛔ 禁止!用 Front Plane 替代
│ ├── 在 Front Plane 画轮廓 → Mid-Plane Extrusion(Z向两侧对称)
│ └── 拉伸深度 = 零件总厚 / 2
└── 需要在斜面本身加工特征? → 用 InsertRefPlane 创建平行于斜面的参考面
基于跨机测试机 bracket_v10 类封装架构的深层设计分析。
| 设计层面 | 全局变量 | 类封装 |
|---|---|---|
| 复用性 | 无法(全局 doc 绑定) | 高(self.doc 实例属性) |
| 可测试 | 无(依赖全局状态) | 可(注入不同 params) |
| 错误恢复 | 无(崩溃后 COM 泄露) | try/finally 保证清理 |
| 并行性 | 无(全局冲突) | 可(多实例) |
| 适应性 | 硬编码所有尺寸 | 参数表驱动,改 dict 即改零件 |
# ❌ 硬编码 —— 改一个尺寸需要搜索全文
doc.SketchManager.CreateLine(mm(-50), mm(0), 0, mm(50), mm(0), 0)
# ✅ 参数表驱动 —— 改字典就改全图
PARAMS = { "base_bottom_width": 100.0 }
bw2 = PARAMS["base_bottom_width"] / 2
self.line(-bw2, 0, bw2, 0)
设计规范:所有尺寸必须来源于 PARAMS 字典,脚本中不得出现"裸数字"。即使只有一个零件,也要用参数表——这保证未来其他零件可以复用同一套脚本。
PARAMS字典 → 建模执行 → 边界框验证 → 与期望值比对 → 自动修正参数
↑ |
└──────────────────────────────────────────────────────────┘
验证不是建模后的可选步骤,是设计的强制性组成部分。
| 版本 | 日期 | 核心变更 | 来源 |
|---|---|---|---|
| v2.6.0 | 2026-06-02 | 新增第十六章(斜面建草图绝对禁止) + 第十七章(参数化设计封装架构) | 第三轮跨机验证 |
| v2.5.0 | 2026-06-01 | 第十四章(正交几何设计六大铁律) + 第十五章(双重嵌套纠错环设计验证层级) | 第一/二轮跨机验证 |