AgentStack
SKILL verified MIT Self-run

Sw Designer

skill-delancy827-solidworks-skills-sw-designer · by delancy827

SW设计狮——结合IMA知识库"SW设计狮"(10篇)和"SW教程合集"(45个教程)双知识库的SolidWorks专业设计指导skill。专注参数化设计、自动化建模、批量零件设计、性能优化、设计规范与最佳实践。

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add skill-delancy827-solidworks-skills-sw-designer

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Sw Designer? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

SW设计狮 — SolidWorks 专业设计指导

本skill融合了两个IMA知识库的核心知识:

  • SW设计狮(ID: 7361920738820041,10篇笔记)— 参数化设计、自动化误区、批量设计、性能优化
  • SW教程合集(ID: 7342555410738838,45个资源)— 入门到精通全套教程

第一章:参数化设计(SW设计狮专题)

1.1 参数化建模核心原理

参数化设计本质是用参数、变量及数学关系驱动设计对象变化,实现自动化与智能化。

参数与变量

  • 参数是可变化的量:尺寸(长/宽/高)、数量、角度等
  • 变量之间相互关联,一个变量改变会依据预设规则影响其他变量
  • 例如:齿轮设计中,模数确定后,齿数变化影响外径、齿厚等参数

数学关系与方程式

  • 方程式建立参数间的数学关系(如 外径 = 模数 × (齿数 + 2)
  • 全局变量可跨特征关联尺寸

1.2 参数化设计四大工具

1. 尺寸驱动与方程式

  • 在草图/特征中标注尺寸时,使用「添加方程式」创建变量
  • 全局变量在「方程式」中定义,关联不同特征的尺寸
  • 示例:长度 = 宽度 * 2齿轮模数 → 齿数 → 齿宽

2. 配置管理器

  • 手动配置:右键添加新配置,修改尺寸或压缩特征生成变体
  • 适合少量规格调整(如不同长度轴)

3. 设计表驱动

  • 通过Excel表格批量定义参数(尺寸、材料等)
  • 关联配置实现批量生成,适合系列化产品(螺栓、轴承)

4. API二次开发

  • VBA/C#/Python调用SolidWorks API
  • 适用于复杂模型自动化生成、批量处理、自定义插件
  • DriveWorks等自动化工具也可集成

1.3 参数化设计常见错误(四大类)

来自「SW设计狮」知识库的实战总结:

| 错误类别 | 典型问题 | 解决方案 | |----------|----------|----------| | 参数定义错误 | 名称含空格/特殊符号(@#)导致方程式无法识别 | 只用英文/数字/下划线命名(Length_1) | | 单位不一致 | 毫米与英寸混用导致计算结果错误 | 统一全局单位,或方程式中显式转换(长度=10*25.4) | | 关联逻辑错误 | 循环引用(A=B, B=A);参数引用被压缩/删除的特征 | 检查方程式依赖关系;不要压缩含全局变量的特征 | | 配置管理错误 | 不同配置尺寸冲突;设计表格式错误 | 逐一验证配置尺寸;设计表命名与SW一致 | | 软件操作错误 | 全局变量修改后未重建模型(Ctrl+Q) | 修改参数后务必强制重建 |

命名铁律:只用英文/数字/下划线,禁止空格和特殊符号!


第二章:自动化建模方法(SW设计狮 + API实战)

2.1 三级自动化体系

| 级别 | 方法 | 适用场景 | |------|------|----------| | 初级 | 宏录制与回放 | 简单重复建模(标准件快速生成) | | 中级 | API二次开发 | 复杂模型自动化生成、批量修改 | | 高级 | 配置驱动+API | 产品系列化、企业级自动化 |

2.2 宏录制与回放

操作步骤:

  1. 工具 → 宏 → 录制
  2. 执行建模操作(草图、拉伸等)
  3. 停止录制,保存为.swp文件
  4. 运行宏自动重复录制步骤

适用:简单重复任务,如标准件快速生成。

2.3 API二次开发

工具选择

  • VBA:内置宏,最简单的入门方式
  • C#:功能最强,适合开发专业插件
  • Python(win32com):灵活高效,适合批量处理

核心API功能

  • 自动生成零件/装配体(AddComponentFeatureExtrusion
  • 批量处理:遍历特征树,自动修改尺寸、阵列
  • 参数驱动生成:根据输入参数自动建模
# 宏录制 → 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)

2.4 自动化进阶技巧

  1. 智能标注与图纸自动化模型项目自动提取设计意图标注到工程图;可通过API开发定制化标注插件
  2. 配置驱动的高级应用:配置管理器 + 设计表批量控制参数,实现不同规格模型快速切换
  3. 大型装配体自动化:轻量化装配 + 选择性加载 + 自动化BOM生成
  4. SpeedPak:只加载外表面用于大装配体

第三章:批量零件设计(SW设计狮精华)

3.1 三大批量方法

方法1:系列零件设计表

  • 先创建基础零件
  • 「插入→表格→设计表」选择"自动生成"
  • Excel表格中定义尺寸/材料列,每行=一种配置
  • 适用:标准件库(螺栓螺母)、系列化产品(不同长度轴)

方法2:配置管理器

  • 手动添加新配置,修改尺寸或压缩特征
  • 与设计表结合:设计表参数关联配置,批量生成

方法3:方程式驱动 + API

  • 定义尺寸变量及关联关系(如 直径 = 长度 / 2
  • 修改参数时模型自动更新
  • 结合API循环生成批量模型

3.2 批量设计最佳实践

  1. 先做一个"母版零件",配置尽量通过设计表管理
  2. API批量生成前先在小数据量上测试
  3. 始终保留原始配置作为"回退点"
  4. 修改全局变量后务必执行「Ctrl+Q」强制重建

第四章:性能优化(SW设计狮精华)

4.1 硬件升级

| 组件 | 建议 | |------|------| | 存储 | SSD固态硬盘(系统和SW安装在此) | | 内存 | 8GB以上(越大越好,减少虚拟内存依赖) | | 显卡 | NVIDIA/AMD专业卡(Quadro/FirePro) | | CPU | Intel i5/i7,双核高主频64位,≥2.8GHz |

4.2 系统设置优化

  • 关闭Windows视觉效果(动画、透明效果)
  • 虚拟内存设为「自动管理」或手动增大
  • 通过任务管理器关闭非必要后台服务
  • 将SW进程优先级设为「高」

4.3 软件内部配置

启用轻化模式

  • 系统选项→性能→「以轻量化模式加载零部件」
  • 大型装配体模式:设置自动进入阈值(如>500个零件)

显示优化

  • 关闭RealView图形
  • 降低"图像品质"滑块
  • 关闭阴影和反射

大装配专项

  • 使用SpeedPak(只加载外表面)
  • 子装配体分组
  • 冻结不需要编辑的零部件

第五章:建模前规划(即教程合集精华)

5.1 零件建模前思考清单

  1. 这个零件最终要做什么用? → 精度、材料、表面处理
  2. 有没有对称特征? → 只建一半镜像
  3. 哪些尺寸以后可能会改? → 用全局变量/方程式
  4. 要不要做成配置? → 相似零件用配置管理
  5. 基准面选哪个? → 和工程图投影方向对上
  6. 要不要参考其他零件? → 自顶向下设计

5.2 建模策略选择

| 零件类型 | 推荐策略 | |----------|----------| | 轴类零件 | 旋转 + 阵列 | | 板类零件 | 拉伸 + 切除 | | 壳体零件 | 实体 → 抽壳 | | 曲面产品 | 曲面 → 加厚/实体化 | | 管件/线材 | 扫描特征 | | 铸造件 | 基体 + 拔模 | | 塑料件 | 主壳体 + 加强筋 | | 钣金件 | 钣金模块专用工具 |

5.3 特征创建黄金顺序

  1. 基体特征(拉/旋/扫/放)→ 2. 切除/孔 → 3. 倒角/圆角 → 4. 装饰特征 → 5. 阵列/镜像

圆角不要放前面!


第六章:草图与零件技巧

6.1 草图完全定义铁律

  • 蓝色 = 能拖动 = 危险
  • 黑色 = 锁死 = 安全

6.2 特征报错速诊

| 报错 | 原因 | |------|------| | 拉伸"无法生成" | 草图交叉/不封闭 | | 圆角报错 | 半径大于相邻面 | | 抽壳失败 | 最小圆角 1.5(静载)

Flow Simulation

内流→压降+流速分布;外流→阻力系数;共轭传热→温度场


第十章:设计检查清单

建模

  • [ ] 所有草图完全定义
  • [ ] 无⚠️标记特征
  • [ ] 材料已指定
  • [ ] 参数命名合法(无空格/特殊符号)
  • [ ] 方程式无循环引用
  • [ ] 修改全局变量后已Ctrl+Q重建

装配体

  • [ ] 无过定义配合
  • [ ] 干涉检查通过
  • [ ] 运动件可自由活动

工程图

  • [ ] 视图完整、尺寸不缺
  • [ ] 无封闭尺寸链
  • [ ] BOM与模型一致

第十一章:冲压模具设计(实战反馈新增)

11.1 冲压工艺性分析

  • [ ] 外形简单对称(避免复杂曲线)
  • [ ] 圆角半径 R ≥ 0.25t(防开裂)
  • [ ] 孔径 ≥ t(防凸模折断)
  • [ ] 孔边距 ≥ t(防变形)
  • [ ] 公差等级明确(IT14 为未注公差)

排样优化:材料利用率 η = (n × A / S × h) × 100%

| 排样类型 | 利用率 | 适用 | |----------|--------|------| | 单排直排 | 40~50% | 圆形件 | | 对排 | 60~70% | 矩形件 | | 多排 | 70~80% | 小件大批量 | | 套裁 | 80~90% | 大小零件配合 |

11.2 刃口尺寸计算

  • 落料(以外形为基准):凹模 = 工件外径,凸模 = 凹模 - 2×单边间隙
  • 冲孔(以内孔为基准):凸模 = 工件内径,凹模 = 凸模 + 2×单边间隙
  • 磨损系数 X:IT10=1.0, IT11=0.75, IT12=0.5, IT13=0.5, IT14=0.5
  • 冲裁间隙 Z/2:08钢 0.06~0.09t,铝/铜 0.02~0.06t,不锈钢 0.10~0.15t

11.3 冲裁力计算

落料力: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%)

11.4 模具结构选择

| 类型 | 工序数 | 精度 | 效率 | 适用 | |------|--------|------|------|------| | 单工序模 | 1 | 高 | 低 | 大批量单一工序 | | 复合模 | 2 | 最高 | 中 | 高精度小批量 | | 级进模 | 多 | 高 | 最高 | 大批量小型件 |

倒装 vs 正装复合模:倒装出件在上模(安全)、正装出件在下模漏料(适合厚料 t>2mm)

11.5 常见冲压缺陷

| 缺陷 | 原因 | 解决方案 | |------|------|----------| | 毛刺大 | 刃口钝化/间隙不均 | 重磨刃口/调整间隙 | | 塌角大 | 间隙过大 | 减小间隙 | | 制件尺寸超差 | 刃口磨损/回弹 | 更换刃口/补偿回弹 | | 模具开裂 | 热处理不当/应力集中 | 优化热处理/增加圆角 | | 条料卡死 | 卸料力不足 | 增大卸料弹簧力 |


第十二章:国标(GB)设计规范(实战反馈新增)

常用国标

  • GB/T 8845-2017《模具术语》
  • GB/T 2851~2861 冲模标准模架
  • GB/T 14662-2006《冲模技术条件》
  • GB/T 1804-2000《一般公差》(IT14 对应 m 中等精度)
  • GB/T 1184-1996《形状和位置公差》
  • GB/T 1031-2009《表面粗糙度》

模具零件表面粗糙度:刃口面 Ra0.4~0.8μm / 导向面 Ra0.8~1.6μm / 固定面 Ra1.6~3.2μm / 毛坯面 Ra12.5~25μm

课程设计说明书标准结构:封面→目录→工艺性分析→工艺方案→排样计算→冲裁力计算→刃口尺寸→模具结构→材料与热处理→总结→参考文献

知识来源

| 知识库 | 内容 | 量 | |--------|------|-----| | SW设计狮(阿荣) | 参数化设计错误归类、自动化建模方法、批量设计、性能优化、系统要求、参数化核心原理 | 10篇笔记 | | SW教程合集 | 快速入门、零件装配体、工程图、高级教程、曲面、钣金、焊件、模具、Simulation、Flow、电气、PDM、MBD | 45个资源 |

配合使用:solidworks-automation skill 负责写代码建模,SW设计狮负责告诉AI"怎么设计才对"。


第十三章:SW 自动化设计避坑指南(2026-05-31 实战新增)

> 来源:叉形接头(Clevis Joint)全自动建模 12+ 轮死磕经验。

13.1 建模策略三段论

对叉形接头这类"连接件"的自动化建模,推荐以下分段策略:

| 阶段 | 操作 | 关键 | |------|------|------| | 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 居中 |

13.2 草图坐标系注意事项

⚠️ 前视基准面的草图坐标系映射

  • 草图 X 轴 → 模型 X 轴(水平)
  • 草图 Y 轴 → 模型 Z 轴(垂直)
  • CreateCornerRectangle(X1,Y1,Z1, X2,Y2,Z2) → Z 坐标控制垂直位置

⚠️ CreateArc 端点必须在圆上

  • 圆心 (cx,cy)、起点、终点三点距离必须都等于半径
  • 否则草图不闭合 → 拉伸/切除静默失败

13.3 面选择设计策略

| 面名称 | 定位方法 | 可靠性 | |--------|----------|:---:| | "前视基准面" | SelectByID2 + 双语兜底 | ⭐⭐⭐⭐ | | "后端面"(X 最小) | GetBodies2GetFacesGetBox 找 minX | ⭐⭐⭐⭐⭐ | | "顶面"(Y 最大) | GetBodies2GetFacesGetBox 找 maxY | ⭐⭐⭐⭐⭐ |

⚠️ 不推荐 SelectByRay 射线法 → 参数计算复杂,几何变形后容易脱靶。

13.4 尺寸居中公式

叉形接头柄部居中:
  总高 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

13.5 自动建模脚本开发流程(最佳实践)

1. 先用 Stage 验证(简单方块+切除)确认 API 连接和编译环境 ✅
2. 再写完整建模脚本,每步加验证(特征计数比对 + ForceRebuild3)
3. 每个 API 调用后检查返回值 + 特征计数
4. 失败立即 return(熔断),不在错误基础上继续
5. 日志全量输出到文件(log.txt),方便远程调试

第十四章:正交几何设计核心铁律(2026-06-01 跨机验证沉淀)

> 本章来自Clevis_Joint叉形接头正交重构 + 双机跨机验证的全部血泪教训。 > 这些是设计方法论的边界规则——cad-automation负责怎么写代码,sw-designer负责告诉AI"这些设计决策绝对不能做"。


14.1 设计环境净化原则 🔴

设计意图:每次建模启动时,必须假定SW处于"脏状态"——可能有之前测试遗留的未保存文档。

设计规范

  • 建模流程的第一步永远不是新建文档,而是关闭所有孤儿文档
  • SW的CloseDoc不会保存,直接关闭——这是设计意图,不是bug
  • 异常退出时也必须关闭当前文档,严禁留下"垃圾画布"影响下次运行
设计检查清单:
☐ 启动时是否先关闭了所有活动文档?
☐ 异常处理中是否关闭了当前文档?
☐ 是否禁止了在已有文档上"追加"建模?

14.2 实体级验证取代特征数验证 🔴

设计意图:特征数是"过程指标",实体数是"结果指标"。设计验证必须看结果。

设计规范

  • GetFeatureCount本质上是"你走了多少步",不是"你走到了哪里"
  • GetBodies2(solidBody)才是"你最终有几个实体"——这才是验证的硬标准
  • 空草图会使特征数+1但实体数不变→特征数假阳性
  • 切除变凸台会创建新实体而不是消除材料→实体数暴露真相
验证层级:
  L1: API返回值 != null     → 调用层面(最弱)
  L2: GetFeatureCount 增加   → 过程层面(有假阳性)
  L3: GetBodies2 实体数匹配  → 结果层面(✅ 唯一可信任)

14.3 基准面选择的设计决策 🔴

设计意图:永远在世界的绝对坐标系中描述几何,永远不在实体的局部面上建基准。

为什么这是设计决策而非实现细节

  • 在实体面上建草图意味着你的设计依赖"当前模型形状"——一个尚未稳定的状态
  • 系统基准面(前视/上视/右视)是永恒的、不变的设计参考
  • 这是"参数化设计"的底层哲学:参数必须锚定于不可变参照

设计规范: | 做法 | 设计后果 | |------|------| | SelectByRay 选实体面建草图 | 局部坐标系、面名不稳定、不可复现 | | 系统基准面 + 绝对坐标 | 纯世界坐标、100%可复现、跨SW版本一致 |


14.4 双向贯穿的设计意图 🔴

设计意图:切穿整个零件,而非切特定深度。这是设计语义的选择。

何时用双向贯穿(ThroughAllBoth)

  • 通孔(任何应该从一侧穿到另一侧的孔)
  • 通槽(U形槽、键槽等完全切穿的特征)
  • 叉形接头的开口(正交切除,不依赖深度参数)

为什么不用特定深度

  • 特定深度依赖当前模型的几何假设,未来修改任何特征都可能破坏深度
  • 双向贯穿是意图声明:"无论模型怎么变,这个特征永远切穿"

14.5 坐标系认知:上视基准面的Y↔Z颠倒 🔴

设计认知:上视基准面(Top Plane)的2D草图坐标系与世界3D坐标系存在映射翻转。

| 基准面 | 草图X→世界 | 草图Y→世界 | 设计影响 | |--------|:---:|:---:|------| | 前视 (Front) | X | Y | 正常画图 | | 上视 (Top) | X | -Z | Y正=Z负,向下尺寸取负 | | 右视 (Right) | Z | Y | 正常画图 |

设计规范:在生成代码前,必须先确定使用的基准面→推导坐标映射关系→写入注释。


14.6 设计→实现的三级降级策略 🔴

设计意图:不是所有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。


14.7 设计-实现转换的五大雷区 ⚡

以下是从设计到代码时最常见的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各不相同,证明截图真实有效。


14.8 知识库更新记录

| 版本 | 日期 | 核心变更 | |:---:|------|------| | 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 | 新增第四章:批量设计策略 |


第十五章:双重嵌套纠错环—设计验证的层级体系(2026-06-01)

> 本章是验证方法论的设计层面表达——solidworks-automation Sec 25负责"怎么跑", > 本章负责"为什么这么设计验证"和"设计决策的边界条件"。

15.1 设计验证的四级信任层级

从最弱到最强,一个设计只应该在 L3+ 才宣布"正确":

| 层级 | 验证方式 | 可信度 | 假阳性风险 | |:---:|------|:---:|------| | L1 | API返回值 != null | ⭐ | 极高——false不为null但生成的是废特征 | | L2 | GetFeatureCount 增长 | ⭐⭐ | 高——空草图使计数+1但实体不变 | | L3 | GetBodies2 实体数 + 包围盒 + 体积 | ⭐⭐⭐⭐ | 低——物理测量,但抓不到宏观逻辑错误 | | L4 | VLM 三视图视觉交叉审查 | ⭐⭐⭐⭐⭐ | 极低——能发现"U形槽方向反了"这类L3抓不到的错 |

设计规范:任何自动化建模系统,验证必须到达 L3(几何内核物理校验)。L4(视觉QA)是工业量产级的进阶要求。

15.2 设计验证的嵌套结构——为什么必须双环

问题: "代码编译通过 + SW没报错" ≠ "模型画对了"
原因: C#编译器只检查语法, SW COM只返回API调用状态, 两者都不关心:
  - 切除方向(切错了位置)
  - 草图悬空(名义上有特征但几何空)
  - 实体意外分裂(切除变成了新建凸台)

解决: 内环保证"代码能跑", 外环保证"模型对"
      → 双环分离是设计意图的表达, 不是实现细节

15.3 迭代中止的设计决策

设计者必须为自动迭代设定边界——无限循环的设计不是正确的设计。

| 决策点 | 规则 | 设计理由 | |------|------|------| | 内环最大重试 | 5轮 | 超过5轮修复不了的编译错误通常是环境问题(DLL缺失) | | 外环最大迭代 | 3~8轮(按复杂度) | 超出范围的错误说明设计意图本身有问题 | | 同类型错误重复 | 3次 → 熔断 | 同样的修改反复失败 = 根本性错误, 不是参数微调能解决的 | | 几何FAIL优先于视觉FAIL | 先修几何再修视觉 | 几何错误是"硬"错误(尺寸/数量), 视觉错误是"软"错误(方向/对称) |

15.4 VLM 裁判的"设计意图理解"

VLM(多模态大模型)在三视图审查中的独特价值——它能理解"设计意图":

| 几何内核能抓的 | VLM才能抓的 | |------|------| | 实体数不对 | U形槽切了外侧而不是内侧(实体数都对但形状错) | | 包围盒尺寸偏差 | 凸台偏左了(尺寸对但位置错) | | 体积不对 | 孔是盲孔而非通孔(体积差太小几何阈值抓不到) | | — | 耳片不对称(肉眼可见的几何错误) |

VLM Prompt 设计原则

  1. 必须先给几何数据(实体数/包围盒/体积)——VLM需要"地面真相"做参照
  2. 必须有明确的审查清单(5项,逐项判定)
  3. 输出格式必须是结构化判定(PASS/FAIL/MODIFY)——不允许模棱两可
  4. FAIL时必须有"具体到行号的代码修改建议"

15.5 设计→验证→修复的完整状态机

[待验证] ──内环编译──→ [编译通过] ──外环几何校验──
                                    │
                    ┌───────────────┴───────────────┐
                    ▼                               ▼
              [几何PASS]                      [几何FAIL]
                    │                               │
            外环视觉QA                        几何偏差数据
                    │                               │
         ┌─────────┴─────────┐                     │
         ▼                   ▼                      │
    [视觉PASS]          [视觉FAIL]                  │
         │                   │                      │
    ✅  完成           VLM修改意见                   │
                           │                        │
                           └────────┬───────────────┘
                                    ▼
                           合并反馈 → Refiner → 修改源码 → [待验证]

15.6 与 cad-automation 的分工边界

| 内容 | 归 cad-automation | 归 sw-designer | |------|:---:|:---:| | 内环编译代码(csc.exe调用 + 错误提取) | ✅ | — | | GetBodies2/BoundingBox C#实现 | ✅ | — | | 三视图截图 C#/Python 代码 | ✅ | — | | VLM Prompt 模板 | ✅ | — | | 验证层级体系的设计哲学(L1→L4) | — | ✅ | | 迭代中止条件的设计决策 | — | ✅ | | 几何错误 vs 视觉错误的优先级 | — | ✅ | | 状态机转移规则 | — | ✅ | | VLM裁判能力边界分析 | — | ✅ |


第十六章:斜面建草图的绝对禁止规则(2026-06-02 第三轮跨机验证)

> 本章来自舍友 bracket_v3→v9 迭代链的致命教训。"在斜侧面上建草图" 是跨6个版本、换了4种参数组合都没能修复的根因。

16.1 设计决策铁律 🔴

绝对禁止在斜面上新建草图用于拉伸/切除。

| 做法 | 后果 | |------|------| | 在50°斜面上 sel(x,y,z) → InsertSketch | 草图坐标系倾斜,拉伸方向无法垂直底座 | | 即使 Direction=True/False/Flip 全试一遍 | 拉伸要么悬空要么方向错误 | | 在倾斜面上画矩形 → 竖直拉伸 | 耳板是斜的,不符合工程图 |

正确的设计决策

  • Front Plane(X-Y 世界平面)上绘制耳板轮廓
  • 使用中面拉伸(Mid-Plane),向 Z 正负两侧对称拉伸
  • 这样耳板自动位于底座两侧,与底座自动合并

16.2 为什么斜面画草图这么诱人

"在斜面上画草图" 在直觉上是合理的:耳板本来就长在斜坡上方。但这是人的空间直觉,不是SW 几何引擎的坐标系

  • 人对空间的理解:耳板从底座顶面 "长出来"
  • SW 的坐标系:斜面有一个倾斜的局部 2D 坐标系,拉伸方向是该面的法向,不是世界竖直方向

16.3 草图平面选择决策树

需要创建从底座延伸的竖直特征(耳片/凸台)?
├── 底座顶面是水平面? → 可以在顶面建草图(水平坐标系 = 世界 XZ 平面)
├── 底座侧面是斜面? → ⛔ 禁止!用 Front Plane 替代
│   ├── 在 Front Plane 画轮廓 → Mid-Plane Extrusion(Z向两侧对称)
│   └── 拉伸深度 = 零件总厚 / 2
└── 需要在斜面本身加工特征? → 用 InsertRefPlane 创建平行于斜面的参考面

第十七章:参数化设计的 Python 封装架构(2026-06-02 新增)

> 基于舍友 bracket_v10 类封装架构的深层设计分析。

17.1 全局变量 → 类封装的战略意义

| 设计层面 | 全局变量 | 类封装 | |------|------|------| | 复用性 | 无法(全局 doc 绑定) | 高(self.doc 实例属性) | | 可测试 | 无(依赖全局状态) | 可(注入不同 params) | | 错误恢复 | 无(崩溃后 COM 泄露) | try/finally 保证清理 | | 并行性 | 无(全局冲突) | 可(多实例) | | 适应性 | 硬编码所有尺寸 | 参数表驱动,改 dict 即改零件 |

17.2 参数表 vs 硬编码的设计哲学

# ❌ 硬编码 —— 改一个尺寸需要搜索全文
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 字典,脚本中不得出现"裸数字"。即使只有一个零件,也要用参数表——这保证未来其他零件可以复用同一套脚本。

17.3 设计验证闭环(参数→建模→验证→修正)

PARAMS字典 → 建模执行 → 边界框验证 → 与期望值比对 → 自动修正参数
     ↑                                                          |
     └──────────────────────────────────────────────────────────┘

验证不是建模后的可选步骤,是设计的强制性组成部分

17.4 知识库更新记录

| 版本 | 日期 | 核心变更 | 来源 | |:---:|------|------|------| | v2.6.0 | 2026-06-02 | 新增第十六章(斜面建草图绝对禁止) + 第十七章(参数化设计封装架构) | 第三轮跨机验证 | | v2.5.0 | 2026-06-01 | 第十四章(正交几何设计六大铁律) + 第十五章(双重嵌套纠错环设计验证层级) | 第一/二轮跨机验证 |

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.