SolidWorks 2023 本機自動化建模(配方驅動 · 實測打通)
把「描述物體 → JSON 建模配方 → SolidWorks 直接畫出」封裝成一條命令,附程式化幾何驗證。
倉庫佈局
| 路徑 | 說明 |
|---|---|
sw_bridge.py | 核心橋:配方驅動,一條命令完成 建模→儲存→匯出→斷言 |
stl_slicer.py | STL ASCII 切片驗證(程式化確認輪廓/孔/槽,不靠讀圖) |
recipes/ | 現成配方範例(含全鏈路自檢 recipe_best_practices_test.json) |
dfm_check.py + rules/ | 產品結構 DFM 檢查器:注塑(16條)/3D列印(14條)雙工藝量化規則庫,設計參數表體檢 + 配方 lint |
skills/sw-dfm-injection/ | 分支技能:注塑 DFM(DVT/量產,壁厚/拔模/卡扣/Boss/筋/倒扣量化規則) |
skills/sw-dfm-proto/ | 分支技能:3D 列印手板 DFM(EVT,最小特徵/懸空/間隙/排液孔量化規則) |
references/api-pitfalls.md | 血淚教訓全量:COM/簽名/VARIANT/EquationMgr/ROT 坑,寫新能力前必讀 |
references/recipe-cookbook.md | 配方語法詳解 + 模板 + 多規格/斷言用法 |
references/industry-best-practices.md | 行業範式調研濃縮 + 後續改造清單 |
docs/case_mcp1085_box.md | 實戰交付案例:兩層水管檢測盒 |
config.example.json | 機器相關配置模板(模板路徑/ProgID/輸出目錄) |
環境前提(缺一不可)
- Windows + 正版 SolidWorks 2023 正在執行。COM 只能附著互動式會話(
GetObject),不能無頭,也不能由腳本拉起(COM 拉起的實例註冊不了 ROT,見 api-pitfalls §13)。 - Python 3.10+,
pip install -r requirements.txt(pywin32 / trimesh / manifold3d / numpy / pillow)。 - 國標中文版模板路徑已內置預設值;英文版或自訂模板複製
config.example.json為config.json修改。
快速自檢
python sw_bridge.py --demo block # 建方塊 + 匯出 + 幾何斷言一條龍
python sw_bridge.py --demo vase # 樣條旋轉曲面
python stl_slicer.py --stl demo_output/demo_block.STL --level 5 # 切片看截面
標準工作流
- 寫配方 JSON(語法與模板見
references/recipe-cookbook.md) - 執行:
python sw_bridge.py --recipe-file recipes/xxx.json - 驗證:配方內置
verify斷言(水密/體積/包圍盒/golden IoU),失敗即整條失敗;再用stl_slicer.py看截面 - 出圖:多個
viewop 匯出多角度 PNG;fmt: step給下游 - 結構審查(產品類零件):
python dfm_check.py --design 參數表.json --process both——注塑/3D列印雙工藝 DFM 體檢,FAIL 即門禁不通;分支技能見skills/
配方 op 一覽(完整參數見 cookbook)
| op | 說明 |
|---|---|
new_part / new_assembly / open | 文件操作 |
sketch / sketch_end / centerline / spline / line / rect / circle / arc | 草圖(mm) |
extrude / revolve / cut / fillet / chamfer | 特徵(失敗自動重試降級) |
set_global_variable / add_equation | 全域變數/方程式 → 同型號多規格走 GV 變異 |
view / save / export / add_component / import_mesh | 視圖/儲存/匯出 stl·png·step·iges/組合件/網格匯入 |
verify | trimesh 斷言層(水密/體積/包圍盒/golden IoU) |
執行期自動凍結圖形重新整理/特徵樹(效能包裹),收口統一 ForceRebuild3+ForceRebuildAll。
硬規則速查(完整版見 references/api-pitfalls.md)
- API 長度單位一律米,配方裡寫 mm(橋自動換算)。
FeatureRevolve2是 20 參;型別庫生成的 4/5/7 參版本全錯。- 晚繫結下 Callout/ExportData 必須傳
VARIANT(VT_DISPATCH, None);CreateSpline2點陣列必須VT_ARRAY|VT_R8。 - 進出草圖都用
InsertSketch(True)(Toggle)。 - 中文本地化名:前視基準面/草圖1/*等角測(config 可切英文環境候選)。
- 複雜特徵(>12 參)失敗 → 終極兜底:SW 錄巨集 →
RunMacro2回放。 GetEquationMgr是 propget-only,須按 dispid 強制 PROPERTYGET(見 api-pitfalls §12)。- 複雜 API 簽名先查 SW 安裝的型別庫(makepy)或錄巨集,不要憑記憶猜。
版本相容性說明
本套件在 SW2023 中文國標版實測打通(含 dispid 66286、ProgID .31、20 參 FeatureRevolve2 等版本相關細節)。
其他 SW 版本核心流程通用,但版本相關常數需按 api-pitfalls §12 的方法重新查證(makepy 型別庫/錄巨集)。
已實測 / 未實測邊界
- ✅ 拉伸、旋轉、樣條、矩形/圓/圓弧、切除、圓角、倒角、組合件加元件、GV/方程式、STL/STEP/IGS/PNG 匯出、網格匯入、幾何斷言
- ❌ 掃描/疊層拉伸/陣列/結合未實測(理論同路數,簽名先查型別庫或錄巨集)