在EPDM中自动重命名SolidWorks文件

  • 投稿Jimm
  • 更新时间2015-10-07
  • 阅读量1034次
  • 评分4
  • 44
  • 0

撰文/ 广州宇喜资讯科技有限公司 岑青山

一、引言

对于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 所示。

(2) 选择“Interop.EdmLib.dll”、“Interop.SldWorks.dll”、“Interop.SwConst.dll” 和“ 自动生成SW 文件名.dll”等4 个文件,之后选择“打开”,如图2 所示。完成后结果如图3 所示。

(3)在EPDM 的序列号中,选中序列号并右键选择“新序列号”,如图4 所示。

(4)如图5 所示,选择“插件序列号(A)”即可。

(5)完成结果如图6 所示。

2.SolidWorks 的部分

(1)在SolidWorks 中,在“Enterprise PDM”菜单下选择“选项”一项。如图7 所示。

(2)在“Enterprise PDM”→“选项”下的“服务器”页中,按图8 所示进行设置。

(3)分别对零件、装配体和工程图选择“自动生成SW 文件名”。并且对选项“自动以序列号命名新文件”和“在‘另存为’时自动以序列号命名文件”打扣,之后点击“确定”即可。如图9 所示。

四、程序实现部分(以下是以VB.net 为基础写此程序)

(1)以VS2010 创建dll 项目。

(2) 引用3 个COM 控件( 如图10 所示):

① P DMWo r k s E n t e r p r i s e 2 0 1 4 T y p e L i b r a r y;② SldWorks 2012 Type Library; ③ SolidWorks 2012Constant type library。

(3)在OnCmd(....) 这个过程中,加入如下代码即可。

01)Dim sSpeical AsString = ReadConfigurationSpecificProperty(" 规格")

02)Dim sPiMing AsString = ReadConfigurationSpecificProperty(" 品名") ´

03)While index <= last

04)&acute;CounterVal = tmpArr(index).mlLongData1

05)Dim s AsString

06)&acute;s = "PRT-" + CounterVal + "-MFG"

07) s = sSpeical + "_" + sPiMing

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