SWX-01 · SOLIDWORKS API
SOLIDWORKS 二次開發
・巨集與外掛程式客製
每次設計變更後,都要重新整理零件屬性、匯出 BOM,再逐一轉出工程圖? 自己錄製的巨集,換個零件就失效,或一遇到判斷條件就卡住?
我協助梳理料號、屬性與出圖規則,將重複操作整合成適合團隊使用的工具。 規則還沒整理好也沒關係,可以從目前的做法一起釐清。
也常被稱為:SOLIDWORKS 外掛程式(附加程式)、SOLIDWORKS API、設計自動化
SWX-02
可以做什麼
以下是 SOLIDWORKS 巨集與 API 可以處理的需求。
- 01
- 02
- 03
BOM 匯出與 ERP 串接
依公司格式整理 BOM,轉 Excel 或產生 ERP 可匯入的檔案。
- 04
- 05
出圖前檢查
檢查材質、公差、標註、參考是否完整,減少退圖。
- 06
PDM 流程自動化
存回檔案或工作流程狀態轉換時自動轉檔、檢查屬性、通知相關人員。
SWX-03
常見開發情境
針對特定工作的詳細說明:內建功能能做到哪裡、什麼情況適合客製。
SWX-04
工具形式
依功能範圍、使用人數與安裝方式,選擇適合的工具形式。
形式
適合的需求
備註
巨集(.swp)
適合的需求單一功能、少數人使用;從 工具 > 巨集 > 執行
備註開發最快
外掛程式(中文介面稱「附加程式」)
適合的需求全部門長期使用;在 工具 > 附加 勾「啟動」,每次開啟 SOLIDWORKS 都會載入
備註可加上 CommandManager 標籤、工作窗格標籤與功能表,統一安裝與更新
工作排程器+巨集
適合的需求排定時間批次執行:用「執行自訂工作」排程巨集,巨集範本(.swb)可以指定參數值
備註原廠說明:執行所有工作排程器工作需 Office、Professional、Premium 或 Ultimate 使用許可
免開啟軟體的批次工具(Document Manager API)
適合的需求大量檔案的屬性讀寫,執行的電腦不必安裝 SOLIDWORKS
備註金鑰只提供給訂閱中的客戶,不能隨軟體散布
PDM 流程整合(Dispatch、PDM 附加程式)
適合的需求檔案到達某個工作流程狀態,或存回檔案時自動執行
備註原廠標示僅適用於 PDM Professional
想先自己錄巨集,錄製、執行、編輯的位置與換零件就失效的原因見SOLIDWORKS 錄製巨集怎麼用?; 巨集跳出錯誤,見SOLIDWORKS 巨集無法執行或跳出錯誤?。
相關技術筆記
全部筆記 →SWX-05
常見問題
可以。錄製的巨集記下的是錄製當下的滑鼠點取位置、功能表選擇與鍵盤輸入,換個零件,錄製時選到的物件就可能找不到。改寫時會把選取與判斷邏輯補上,讓它對不同零件都能正常執行。
SOLIDWORKS API 是 SOLIDWORKS 軟體的 COM 程式設計介面,讓程式直接存取 SOLIDWORKS 的功能,可以從 VBA、VB.NET、C#、C++ 或 SOLIDWORKS 巨集呼叫。錄製的巨集包含的就是操作介面時對應的 API 呼叫,以 .swp 的 VBA 專案檔儲存。巨集和外掛程式用的是同一套 API,差別在包裝與安裝方式。
巨集(.swp)開發快,從 工具 > 巨集 > 執行,適合單一功能或少數人使用。外掛程式在中文介面稱為「附加程式」,從 工具 > 附加 啟用,大部分會加上 CommandManager 標籤、工作窗格標籤、功能表或工具列,適合全部門長期使用、功能較多或需要統一安裝更新的工具。要做成哪一種,我會依需求建議。
可以。組合件裡建立的零件表,按右鍵就能存成 Excel(.xls 或 .xlsx)、CSV、PDF 等格式,也能存成範本(.sldbomtbt)。工程圖用的是以 Excel 為基礎的零件表時,點選零件表後按 檔案 > 另存新檔 存成 Excel,存出的檔案不會再跟工程圖中的零件表連動;在工程圖插入這種零件表的電腦要安裝 Microsoft Excel。需要客製的是轉成 ERP 匯入格式(固定欄位順序、料號對照)、多個組合件要合併,或每次設計變更都要重轉的情況。
可以評估。原廠的 Document Manager API 不需要電腦安裝 SOLIDWORKS 就能讀寫檔案的自訂屬性,但需要授權金鑰:金鑰只提供給仍在訂閱服務期間的客戶,也不能分享給公司以外的人,所以會由你們公司申請;版本與備份的注意事項整理在「SOLIDWORKS 自訂屬性批次處理與檢查」頁。開發前我會先確認你們的授權狀態。
可以。PDM Professional 有 Dispatch,可以在檔案到達某個工作流程狀態時觸發動作,例如執行產生 PDF 的指令碼;要在存回檔案時執行,或 Dispatch 做不到的,再用 PDM API 寫附加程式。原廠說明中 Dispatch 與 PDM 附加程式都標示僅適用於 PDM Professional,PDM Standard 要依實際需求評估。