SolidWorks 自動化(API/巨集)・PDM・Simulation・Motion・算圖・疑難排解
概述
大型企業與中小型製造商於 SolidWorks 生產力的差距,並非出自建模能力,而是取決於 自動化・資料管理・問題應對。以巨集處理重複作業、以 PDM 管控設計資料、以分析・動畫・算圖驗證與溝通,並於錯誤發生時有系統地復原。本文以實務基準彙整巨集/API(VBA・VB.NET・C#)、PDM(保險庫・簽出・Version/Revision・Workflow)、SimulationXpress/Simulation、Motion Study、算圖(PhotoView 360・Visualize)、代表性疑難排解(Rebuild/Dangling/Mate/File Repair),以及 2024/2025 新功能(Detailing Mode・Component References・Configuration Publisher)。快捷鍵請見 01-shortcuts-ui.md,組件/效能基礎請見 03-assembly.md。
1. 巨集與 API
1.1 從錄製巨集開始
選單路徑:Tools → Macro → Record。所執行的 UI 動作會被記錄為 VBA 程式碼,按 Stop 後儲存為 .swp(原始碼)・.swb(二進位)檔。以 Alt+F11 開啟內建 Visual Basic Editor 即可修改。
注意: 錄製的巨集將絕對路徑・模型名稱・選取順序寫死其中。直接分發於他機將無法執行。錄製結果僅為 起點,務必透過變數化・例外處理加以重構。
1.2 API 語言選擇
| 語言 | 優點 | 缺點 |
|---|---|---|
| VBA | SolidWorks 內建,儲存於檔案內,入門容易 | 除錯工具老舊,錯誤處理薄弱 |
| VSTA (VB.NET/C#) | 現代 .NET,SolidWorks 內建 | 分發相對較複雜 |
| 外部 .NET 增益集(C#) | 可自由設計使用者介面,分發彈性高 | 需另行安裝 Visual Studio |
| Standalone EXE | 可分發至多台 PC,可排程執行 | 須 SolidWorks 執行中才能連線 |
1.3 API Object Model
SldWorks (最上層應用程式)
└── ModelDoc2 (零件/組件/工程圖共用)
├── PartDoc
├── AssemblyDoc
├── DrawingDoc
├── FeatureManager
├── SketchManager
└── SelectionMgr
絕大多數實務巨集皆透過 SldWorks → ModelDoc2 → FeatureManager 讀取或建立特徵。
1.4 VBA 最小範例 — 建立方塊
Sub CreateBox()
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Set swApp = Application.SldWorks
Set swModel = swApp.NewPart
swModel.SketchManager.InsertSketch True
swModel.SketchManager.CreateCornerRectangle 0, 0, 0, 0.1, 0.1, 0
swModel.FeatureManager.FeatureExtrusion3 True, False, False, _
0, 0, 0.05, 0, False, False, False, False, _
0, 0, False, False, False, False, 1, 1, 1, 0, 0, False
End Sub
會產生 100mm × 100mm × 50mm 的伸長方塊。FeatureExtrusion3 的參數順序常被詢問,建議將 Help 的 API Reference 加入書籤方便查閱。
1.5 實務自動化情境
- BOM 批次匯出至 Excel:開啟指定資料夾所有
.sldasm,擷取 BOM 表 → 合併儲存為 Excel。 - 工程圖 PDF 批次轉換:以夜間 Task 將數百張
.slddrw轉為 PDF/A。 - Pack & Go 自動化:掃描各專案資料夾,包含參照進行打包。
- 批次修改 Custom Properties:依規則更新數千零件的 Material・Revision・Drawn By。
- 零件編號自動產生:依 PLM 規則填入 Custom Property +檔名 Rename。
1.6 巨集分發
.swb二進位檔雖能保護原始碼,但難以修改與共用。- 於公司共用資料夾存放
.swp,並以 Macro Feature 掛載於 CommandManager 按鈕,以確保公用巨集的可存取性。 - 於 PDM 環境中,巨集亦應保存於 Vault 進行 Revision 管理。
2. PDM — Product Data Management
2.1 PDM Standard vs Professional
| 項目 | Standard | Professional |
|---|---|---|
| 使用者數 | 最多 10 人 | 無限制 |
| Database | SQL Express(2GB 限制) | SQL Server 正式版 |
| Workflow 狀態 | 最多 10 個 | 無限制 |
| Custom Column | 受限 | 無限制 |
| Web Client | 無 | 有 |
| Replication | 無 | 有(多站點) |
| Task Scheduler | 無 | 有 |
SolidWorks Professional 隨附 Standard,當 Simulation・Workgroup 需求擴大時可升級至 Professional。
2.2 Check-Out / Check-In 基本
- Check-Out:取得檔案編輯權限,其他使用者無法修改。
- Check-In:編輯完成後上傳至 Vault,產生 新的 Version。
- Undo Check-Out:捨棄編輯,保留前一版本。
- Get Latest:不做 Check-Out,僅取得最新唯讀副本。
2.3 Version vs Revision — 常被混淆
- Version:每次 Check-In 自動遞增的 內部編號(1, 2, 3...),追蹤所有細微變更。
- Revision:於 Workflow Transition 正式核准的 外部編號(A, B, C 或 1, 2, 3),BOM・工程圖會顯示此值。
設計者即使儲存 10 次,Version 僅遞增至 10,Revision 維持不變。Revision 僅於發行核准事件才會變動。
2.4 Workflow
- State(狀態):
In Progress → Under Review → Approved → Released → Obsolete。 - Transition(轉換):狀態間移動的條件(權限・必要屬性・數量驗證等)。
- Transition 時自動執行:遞增 Revision、更新 Custom Property、Email 通知、執行 Dispatch 指令碼。
提示: Released 狀態的檔案變為唯讀。若要重新編輯,必須先發行 ECO(Engineering Change Order)將 Workflow 退回,才能 Check-Out。
2.5 PDM 最佳實務
- 以 Dispatch 強制檔名規則。Check-In 時若檔名違反規則即被阻擋。
- Required Custom Property。未填入 Description・Material・Designer 則拒絕 Check-In。
- Revision Table 自動化。Workflow Transition 自動於工程圖 Revision Table 加入列。
- 善用 History。Get・Check-Out・Check-In 全部記錄,可供稽核追蹤。
- User/Group 權限區分。區分核准者・設計者・採購人員權限,防止發行檔案受污染。
- Task Scheduler(Professional 專屬) — 夜間自動轉換 PDF/STEP・備份。2025 此功能擴充。
3. SimulationXpress / Simulation
3.1 SimulationXpress
預設內建於 SolidWorks Standard。僅支援單一實體零件+線性靜力分析。可用條件限於 Fixture(固定)、Force/Pressure。多實體・組件・非線性・熱・動力學皆無法處理。
3.2 Simulation Premium/Professional 追加 Study
- Static:線性靜力(SimulationXpress 涵蓋範圍)。
- Frequency:固有頻率・模態分析。
- Buckling:挫屈。
- Thermal:穩態/暫態熱分析。
- Drop Test:落下衝擊。
- Fatigue:疲勞壽命。
- Nonlinear:大變形・非線性材料(Premium)。
- Dynamic:時域動態分析(Premium)。
3.3 Mesh(網格)
| 方式 | 特徵 |
|---|---|
| Standard Mesh | 均勻尺寸,適合單純形狀 |
| Curvature-based Mesh | 依曲率自動調整尺寸,預設推薦 |
| Blended Curvature-based | 平滑過渡,實體數量少時較有利 |
| Draft Quality | 1 階(線性)元素,快速但不精確 |
| High Quality | 2 階元素,精確但較慢 |
提示: 薄板應於厚度方向確保 至少 2 個元素。僅 1 個時彎曲分析會不準。
提示: 應力集中處(孔・圓角・銳角)以 Mesh Control 進行局部細化,無需整體加密。若關注區域的 Energy Norm Error 圖低於 10%,即視為網格收斂。
3.4 邊界條件與負載
- Fixture:Fixed Geometry, Roller/Slider, Fixed Hinge, Reference Geometry, Symmetry。
- Load:Force, Torque, Pressure, Gravity, Bearing Load(圓柱餘弦分佈)、Remote Load(自遠端點傳遞力)。
注意: 濫用 Fixed Geometry 將加入實際並不存在的約束,使應力人為上升。應選擇貼近實際支撐情況的邊界條件。
3.5 結果判讀
- Von Mises Stress:等效應力,適合延性材料。
- Principal Stress(P1/P3):主應力,適合脆性材料。
- Displacement:位移,視覺誇張倍率務必標註。
- Factor of Safety(FOS):容許應力/作用應力。一般靜態載重 3 以上,反覆・動態載重目標 5 以上。
注意: 銳角處的無限大應力屬於 數值奇異點(numerical singularity),並非實際應力,而是網格收斂誤差。加入圓角後重做分析即可解決。
4. Motion Study
4.1 三個層級
| 層級 | 功能 | 授權 |
|---|---|---|
| Animation | 以 Mate/Explode 為基礎的動畫,無物理 | Standard |
| Basic Motion | 重力・彈簧・馬達・部分接觸,近似物理 | Standard |
| Motion Analysis | 完整動力學,力・力矩・慣性・阻尼・接觸 | Premium |
4.2 Motor / Spring / Gravity / Contact
- Rotary Motor:旋轉軸+RPM 或角速度(°/s)。函式可選 Constant, Distance, Oscillating, Segments, Expression 等。
- Linear Motor:直線方向+速度/加速度。
- Linear Spring:兩點之間,自由長度・彈簧常數(N/mm)。將自由長度設為與 Mate 中立狀態不同可表達 預載。
- Torsion Spring(Motion Analysis 專屬):旋轉軸・扭矩-角度。
- Gravity:方向(X/Y/Z)・大小(預設 9.81m/s²)。
- Contact:Solid Body 間的碰撞・摩擦。Friction Coefficient(庫倫摩擦)、Restitution Coefficient(0~1,彈性回復)。
4.3 最佳實務
- 關閉 Lightweight。Motion Analysis 需要 Full-resolved 狀態。
- 簡化 Mate。Motion Analysis 會將所有 Mate 方程式化,數量越多越慢。
- 明確 Initial Conditions。以 Fixed/Float 管理各元件的初始速度・位置。
- 調整 Step size。預設值過大,精密分析請調至 0.01 秒以下。
- Motion → Simulation 串接。可將 Motion 擷取之載重傳至 Simulation,對時變載重進行結構分析。
5. 算圖(Rendering)
5.1 從 PhotoView 360 移至 Visualize
注意: PhotoView 360 於 2023 SP5 之後停止支援。2024+ 的官方算圖工具為 SOLIDWORKS Visualize。既有 PhotoView 場景無法自動移轉至 Visualize,必須重做。
5.2 SOLIDWORKS Visualize
- 獨立應用程式(可整合安裝),隨附於 SolidWorks Professional 以上。
- 採用 GPU 加速(建議 NVIDIA RTX),以 CUDA/OptiX 為基礎。
- 版本:Standard / Professional / Connected。
Professional 的額外功能:關鍵影格動畫、物理式模擬(重力・碰撞)、Turntable/Explode 自動動畫、PLM Design Data 連動。
5.3 Appearance / Scene / Lighting
- Appearance:Part Level / Body Level / Feature Level / Face Level 四層級,優先順序為
Face > Feature > Body > Part。 - Scene:Basic(簡易背景)、Studio(HDRI 為基礎)。可自訂
.hdr。 - Lighting:Ambient, Directional, Point, Spot, HDR Environment。單張 HDRI 常比三個點光源更具真實感。
5.4 算圖輸出最佳實務
- 相機構圖佔品質的 70%。將主體置於畫面 1/3 處。
- 以 Depth of Field 聚焦主題、模糊背景。
- 以公司 標準材質庫確保算圖一致性。
- Turntable 動畫對產品宣傳相當有力,Visualize 一鍵完成。
- PNG 支援 alpha(透明),目錄合成必備。
6. 疑難排解
6.1 Rebuild Error 處理順序
- 從最上方的錯誤開始處理。上層特徵錯誤會連鎖誘發下層錯誤。
- 右鍵錯誤圖示 → What's Wrong? 確認具體訊息。
- Ctrl+Q Force Rebuild — 讓隱藏錯誤浮現或自動化解。
- 以
Edit Feature重新選取參照。 - 最後手段 — 刪除特徵後重建。
6.2 Dangling Dimension / Relation
- 黃色標示 = 參照實體遺失。
- 草圖編輯中開啟
Display/Delete Relations→ 將篩選設為 Dangling。 - 拖曳紅色控點重新附著至新實體,或全部刪除後重新約束。
6.3 Mate Error
- 組件的 Mate 衝突・參照遺失。
- MateXpert 自動診斷 — 會提議問題 Mate 與解決方案。
- Over-defined 時逐一刪除 Mate 以縮小衝突原因。
6.4 File Repair
- 當機後重啟會自動顯示 Recover documents 對話框。
- 於檔案開啟對話框右下角下拉選單選擇 Open and Repair。
- SolidWorks Explorer:Windows Explorer 右鍵 → 安全執行參照修正・Pack & Go・Rename。
6.5 常見錯誤與解法
| 症狀 | 原因 | 解決 |
|---|---|---|
| "Unable to create feature" | 自相交、零厚度 | 檢查草圖,縮小 Fillet 半徑 |
| "Zero thickness geometry" | Fillet/Shell 結果厚度為 0 | 重排特徵順序 |
| Shell 失敗 | 小圓角・邊線 | 調整 Fillet 前後順序,設定 Multi-thickness |
| Mate "Over-defined" | 重複・衝突的 Mate | 執行 MateXpert,移除多餘 Mate |
| Drawing 無法更新 | 參照路徑變更 | Pack & Go 或 File → Find References |
| "Missing file" | 檔名・路徑變更 | 以 Browse 重新連結,PDM Check-In |
| 大型組件無回應 | 記憶體不足 | Lightweight, SpeedPak, Defeature |
6.6 防止資料遺失
- 自動儲存 10 分鐘以下(
Tools → Options → System Options → Backup/Recover)。 - 備份保留 5 個以上。
- 以 Pack & Go 定期備份專案。
- 與 Windows 檔案歷程・OneDrive・Dropbox 做雙重備份。
- 以 PDM Task Scheduler 做夜間自動備份(Professional 專屬)。
7. 2024 / 2025 新功能摘要
7.1 SolidWorks 2024
- Active Section View 於工程圖動態移動剖面。
- 改善 組件變更偵測 — 大型組件僅重建變更部分。
- Hole Wizard 效能提升 30%。
- MBD Auto-Balloon — 於 3D PMI 自動標號。
- Toolbox Contextual Toolbar — 提升存取速度。
7.2 SolidWorks 2025
- Detailing Mode 改進 — 可於未 Resolved 狀態下編輯大型組件工程圖。分鐘等級的載入縮短為秒級。
- Component References — 同一零件用於多個用途時,可對各實例加標籤(例:「LEFT」、「RIGHT」)。
- Copy with Mates 擴充 — 包含 Advanced・Mechanical Mate(Slot/Width 等)。
- Configuration Publisher 更新 — 網頁介面更精緻。
- Large Design Review(LDR) — 新增 Component Preview Window、Breadcrumbs 導覽。
- Defeature Silhouette — 最佳化 3D 列印用匯出。
- Sheet Metal Relief 自動化 — 改進邊角釋放槽演算法。
- PDM Task Scheduler 擴充 — 夜間自動轉 PDF/STEP。
7.3 3DEXPERIENCE Works (2025)
- AI Copilot — 自然語言指令(例:「Add M8 hole 10mm from the edge」)。
- Generative Design — 指定載重・重量目標 → AI 建議最佳形狀。
- Cloud BOM — 設計・採購・製造部門即時共用。
實務檢查清單
- 是否已挑選至少 1 個重複作業作為巨集自動化候選
- 是否已將錄製巨集重構,移除絕對路徑・名稱
- 是否已制定將設計檔案 Check-In 至 PDM Vault 的政策
- 團隊成員是否能區分 Version 與 Revision 概念加以使用
- Workflow Transition 是否會自動更新 Revision・Custom Property
- Simulation 邊界條件是否反映實際支撐情況
- 是否以圓角消除應力奇異點
- Motion Analysis 前是否關閉 Lightweight 並調整 Step size
- 是否已將算圖環境移轉至 Visualize(移除 PhotoView 依賴)
- 自動儲存週期與備份數是否達到 10 分鐘・5 個以上
- Rebuild Error 是否依 What's Wrong? → 由上層特徵開始依序處理
- 是否可以 Detailing Mode 編輯大型組件工程圖(2025)