岑青山
一、引言
對于 SolidWorks CAD用戶而言,在使用 SolidWorksEPDM管理繪圖文檔的同時,希望以 EPDM以基礎(chǔ),對SolidWorks CAD文檔做一個全自動的規(guī)范的重命名。其規(guī)則如下:當保存或另存為文件時,CAD文件名 =規(guī)格 +品名 +SolidWorks文件后繼;這個“規(guī)格”和“品名”是SolidWorks文件中的屬性。是由SolidWorks模板中產(chǎn)生的。問題是如何通過 EPDM觸發(fā)這個事件的發(fā)生?為回答這個問題,筆者將給出一個經(jīng)過驗證的方和解決問題的思路。
二、運行環(huán)境
要解決這樣的問題,需要用戶具備一定的信息化環(huán)境。筆者認為,用戶的基本信息化環(huán)境應(yīng)該為:(1)Visual Studio 2010;(2)EPDM在EPDM2014sp4;(3)SolidWorks2012sp5。
三、安裝部分
1. EPDM部分
(1)在 EPDM的 Add-ins插件中,選中插件并右鍵選擇“新插件”。如圖 1所示。
圖1
(2)選擇“Interop.EdmLib.dll”、“Interop.SldWorks.dll”、“Interop.SwConst.dll”和“自動生成SW文件名 .dll”等4個文件,之后選擇“打開”,如圖2所示。完成后結(jié)果如圖 3所示。
圖2
圖3
(3)在EPDM的序列號中,選中序列號并右鍵選擇“新序列號”,如圖 4所示。
(4)如圖 5所示,選擇“插件序列號(A)”即可。
(5)完成結(jié)果如圖 6所示。
圖4
圖5
圖6
2.SolidWorks的部分
(1)在 SolidWorks中,在“Enterprise PDM”菜單下選擇“選項”一項。如圖 7所示。
圖7
(2)在“Enterprise PDM”→“選項”下的“服務(wù)器”頁中,按圖 8所示進行設(shè)置。
圖8
(3)分別對零件、裝配體和工程圖選擇“自動生成SW文件名”。并且對選項“自動以序列號命名新文件”和“在‘另存為時自動以序列號命名文件”打扣,之后點擊“確定”即可。如圖 9所示。
圖9
四、程序?qū)崿F(xiàn)部分(以下是以 VB.net為基礎(chǔ)寫此程序)
(1)以 VS2010創(chuàng)建 dll項目。
(2)引用3個COM控件(如圖10所示):
① PDMWorks Enterprise 2014 TypeLibrary;
② SldWorks 2012 Type Library; ③ SolidWorks 2012Constant type library。
圖10
(3)在OnCmd(....)這個過程中,加入如下代碼即可。
01)Dim sSpeical AsString = ReadConfigurationSp ecificProperty("規(guī)格 ")
02)Dim sPiMing AsString = ReadConfigurationS
pecificProperty("品名 ") '
03)While index <= last
04)'CounterVal = tmpArr(index).mlLongData1
05)Dim s AsString
06)'s = "PRT-" + CounterVal + "-MFG"
07) s = sSpeical + "_" + sPiMing
08)'MsgBox(s)
09) tmpArr(index).mbsStrData1 = s
10) index = index + 1
11)EndWhile
其中,第01和02句為在SolidWorks中讀取“規(guī)格”、“品名”在特定配置中的兩個屬性值。在第 07句,再將兩個值加起來賦值到s。s即為返回值——在過程 OnCmd(....)返回這個值。
(4)使用部分:SolidWorks文件在 EPDM庫,被保存、另存為時,這個程序即被自動激發(fā)。生成“規(guī)格 -品名”所組成的文件名。而這個規(guī)格和品名就是 SolidWorks文件的屬性。
五、結(jié)語
綜上所述,這個程序本來很簡單,只有幾行代碼,但因為它要跨越EPDM的API和SolidWorks的API組合起來,以產(chǎn)生自動生成SW文件名的結(jié)果,所以有一定的研究價值。受篇幅所限,文章僅止于此。