在 EPDM中自动重命名 SolidWorks文件
2015-10-15岑青山
岑青山
一、引言
对于 SolidWorks CAD用户而言,在使用 SolidWorksEPDM管理绘图文档的同时,希望以 EPDM以基础,对SolidWorks CAD文档做一个全自动的规范的重命名。其规则如下:当保存或另存为文件时,CAD文件名 =规格 +品名 +SolidWorks文件后继;这个“规格”和“品名”是SolidWorks文件中的属性。是由SolidWorks模板中产生的。问题是如何通过 EPDM触发这个事件的发生?为回答这个问题,笔者将给出一个经过验证的方和解决问题的思路。
二、运行环境
要解决这样的问题,需要用户具备一定的信息化环境。笔者认为,用户的基本信息化环境应该为:(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所示。完成后结果如图 3所示。
图2
图3
(3)在EPDM的序列号中,选中序列号并右键选择“新序列号”,如图 4所示。
(4)如图 5所示,选择“插件序列号(A)”即可。
(5)完成结果如图 6所示。
图4
图5
图6
2.SolidWorks的部分
(1)在 SolidWorks中,在“Enterprise PDM”菜单下选择“选项”一项。如图 7所示。
图7
(2)在“Enterprise PDM”→“选项”下的“服务器”页中,按图 8所示进行设置。
图8
(3)分别对零件、装配体和工程图选择“自动生成SW文件名”。并且对选项“自动以序列号命名新文件”和“在‘另存为时自动以序列号命名文件”打扣,之后点击“确定”即可。如图 9所示。
图9
四、程序实现部分(以下是以 VB.net为基础写此程序)
(1)以 VS2010创建 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("规格 ")
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中读取“规格”、“品名”在特定配置中的两个属性值。在第 07句,再将两个值加起来赋值到s。s即为返回值——在过程 OnCmd(....)返回这个值。
(4)使用部分:SolidWorks文件在 EPDM库,被保存、另存为时,这个程序即被自动激发。生成“规格 -品名”所组成的文件名。而这个规格和品名就是 SolidWorks文件的属性。
五、结语
综上所述,这个程序本来很简单,只有几行代码,但因为它要跨越EPDM的API和SolidWorks的API组合起来,以产生自动生成SW文件名的结果,所以有一定的研究价值。受篇幅所限,文章仅止于此。