SWX-S2 · Custom properties
SOLIDWORKS 自訂屬性
批次處理與檢查客製
零件一多,料號、材質、供應商這些自訂屬性要逐一開檔填寫,也容易漏填或打錯字; 舊檔案的屬性名稱不統一,工程圖標題欄抓不到、BOM 也對不起來。
我依你們的屬性清單與命名規則,撰寫批次寫入與檢查工具:一次讀取多個檔案, 依 Excel 或既有系統的對照表寫入屬性,先抓出漏填或格式不一致的項目再處理。
01
內建功能能做到哪裡:屬性對話方塊、屬性標籤產生器、工作排程器、設計表格
SOLIDWORKS 內建有四種寫入自訂屬性的方式,差別在一次能處理多少檔案、值從哪裡來:
| 內建方法 | 在哪裡操作 | 一次能處理 | 限制 |
|---|---|---|---|
| 「屬性」對話方塊 | 檔案 > 屬性:「自訂」標籤放套用至整個文件的屬性,「模型組態指定」標籤放模型組態間不同的屬性 | 一個檔案;在「模型組態指定」標籤可以從「套用至」選模型組態 | 要逐一開檔填寫 |
| 屬性標籤產生器(Property Tab Builder) | 工作窗格的「SOLIDWORKS 資源」標籤 > 屬性標籤產生器;做好的表單出現在工作窗格的「自訂屬性」標籤 | 在組合件中可以同時把屬性指定給多個零件 | 值仍是在表單上輸入或選擇;清單的選項可以從 Excel 讀取,清除「允許自訂值」就只能從清單選 |
| 工作排程器「更新自訂屬性」 | 工具 > SOLIDWORKS 應用程式 > SOLIDWORKS 工作排程器,再按 工作 > 更新自訂屬性 | 選定的檔案,或資料夾中指定類型的所有檔案;同一個工作不能同時指定檔案與資料夾 | 對話方塊裡每個屬性填一個數值,寫進每個檔案;可以在工作選項勾「備份工作檔案」,先把每個檔案備份到 .zip |
| 設計表格的 $PRP@ 欄 | 設計表格的欄標題寫 $prp@屬性名稱,每一列填該模型組態的屬性值 | 一個檔案的所有模型組態 | 只處理同一個檔案 |
工作排程器的使用許可,原廠說明是:要執行所有工作排程器工作,需要 SOLIDWORKS Office、Professional、Premium 或 Ultimate 的使用許可; Standard 使用許可可以轉換檔案。更新屬性的步驟見工程圖屬性連結一篇, 其他工作見SOLIDWORKS 工作排程器設定; $PRP@ 欄的寫法見SOLIDWORKS 設計表格怎麼用?。
全公司要用同一份屬性標籤產生器表單時,原廠說明是把它存在 SOLIDWORKS 使用者能夠存取的網路磁碟機上, 使用者再把「自訂屬性檔案」的檔案位置定義為該網路磁碟機。
需要客製的是下面這些情況:
- 每個檔案要寫不同的值,而且要依料號或圖號,從 Excel 清單或 ERP 對照後寫入
- 要先檢查現有檔案漏填、格式不一致(例如「料號」與「零件編號」混用),再統一處理
- 模型組態很多,每個模型組態的料號、品名要依清單各自寫入
- 大量舊檔案要一次性清查,或統一改屬性名稱
02
常卡住的地方
逐一開檔填寫
幾百個零件,每個都要開啟、找到屬性標籤、輸入,效率很低。
屬性名稱不一致
有人填「料號」有人填「零件編號」,標題欄與 BOM 抓不到對應資料。
漏填不容易發現
沒有逐一開檔檢查,漏填的檔案可能要到出圖或匯出 BOM 時才被發現。
多個模型組態
同一個零件有多個模型組態,各自的料號、品名要分別維護,手動很容易填錯模型組態。
03
工具可以怎麼做
- 01
整批寫入屬性
依 Excel 清單或對照表,一次寫入多個檔案的自訂屬性。
- 02
漏填與格式檢查
找出屬性空白、名稱不一致或格式不符的檔案,列出清單方便處理。
- 03
依模型組態寫入
依模型組態分別寫入料號、品名等資料,避免寫錯模型組態。
- 04
屬性名稱統一
舊檔案屬性名稱不一致時,批次改成統一名稱,方便標題欄與 BOM 抓取。
- 05
對照既有系統資料
依料號或圖號,比對 ERP 或 Excel 清單,找出對應值再寫入。
- 06
執行紀錄與結果報告
每次執行列出寫入成功、跳過與有問題的檔案,方便追蹤。
03-A
寫入前後對照與檢查報告
以下為範例格式,實際欄位、對照來源與檢查規則依你們的屬性設計。
寫入前後對照
| 檔名 | 料號(寫入前) | 材質(寫入前) | 寫入結果 |
|---|---|---|---|
| P-10025.SLDPRT | (空白) | SUS304 | 料號已依 Excel 清單寫入 |
| P-10031.SLDPRT | P10031 | (空白) | 材質對照表查無資料 |
| P-10044.SLDPRT | P-10044 | A6061 | 已正確,略過 |
寫入後檢查報告
找不到對照值或格式不符的檔案先不寫入,列出原因方便補齊
檔案總數:186 已寫入:179
需處理:7
P-10031:材質對照表查無資料
P-10058:料號格式不符(缺版次)
P-10067:偵測到 2 個模型組態,缺模型組態指定的料號
- 查無對照資料:先確認 Excel 或 ERP 清單有沒有這筆料號,避免寫入錯誤或空白的值
- 格式不符:依你們定義的料號或版次格式規則檢查,不符合的不寫入
04
開發前會確認的條件
這些條件決定工具能不能穩定運作,也會影響開發範圍與報價。不確定的項目,評估時一起確認即可。
項目
要確認什麼
為什麼重要
屬性清單
要確認什麼要處理的自訂屬性名稱與類型(例如文字、日期、編號、是或否),以及哪些欄位只能從清單選
為什麼重要決定寫入時的欄位與檢查規則
資料來源
要確認什麼屬性值來自 Excel、ERP 或人工整理的對照表
為什麼重要決定工具怎麼讀取要寫入的值
模型組態
要確認什麼零件是否有多個模型組態、模型組態指定屬性的範圍
為什麼重要影響寫入邏輯與檢查方式
檔案管理
要確認什麼一般資料夾或 PDM
為什麼重要決定工具的讀取方式與執行時機
軟體版本
要確認什麼SOLIDWORKS 版本與授權類型
為什麼重要影響可用的功能與做法
相關技術筆記
全部筆記 →05
常見問題
可以評估。原廠的 SOLIDWORKS Document Manager API 不需要電腦安裝 SOLIDWORKS 就能讀寫檔案的自訂屬性,但需要授權金鑰:金鑰只透過原廠客戶入口網站提供給仍在訂閱服務期間的客戶,而且不能分享給公司以外的人或隨軟體散布,所以會由你們公司申請、設定在工具裡。檔案的 SOLIDWORKS 版本比金鑰新就無法存取,升級大版本時要更新金鑰。原廠也建議執行前先備份檔案,我做的工具會先跑檢查,確認後才寫入。
這個工作是在對話方塊裡指定要加入或修改的自訂屬性:名稱、類型(文字、日期、編號、是或否)與數值,需要時填模型組態名稱,再更新到選定的檔案,或資料夾中指定類型的所有檔案。每個屬性填一個數值,適合公司名稱這類一批檔案都一樣的值;每個零件料號不同、要從 Excel 或 ERP 依料號對照寫入時,就需要另外寫工具。另外,原廠說明要執行所有工作排程器工作,需要 SOLIDWORKS Office、Professional、Premium 或 Ultimate 的使用許可,Standard 使用許可可以轉換檔案。
這類屬性在「檔案 > 屬性」的「模型組態指定」標籤(更新為與 3D EXPERIENCE Platform 相容的模型,則是「模型組態屬性」標籤),每個模型組態各有一份。寫入時會依模型組態分別處理,避免把資料寫到錯的模型組態;檢查時也會列出各模型組態各自缺漏的項目。
可以。先盤點現有的屬性名稱,對照要統一成的名稱後批次修改;建議同時定下命名規則,避免之後又不一致。
可以,會先跑檢查列出漏填、格式不符或找不到對照值的檔案,確認後再執行寫入,避免錯誤資料一次寫進大量檔案。