在 EPDM中自动重命名 SolidWorks文件
   来源:智能制造     2021年03月11日 10:55

在EPDM中自动重命名SolidWorks文件

岑青山

一、引言

对于 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文件名的结果,所以有一定的研究价值。受篇幅所限,文章仅止于此。

文章 序列号 品名