solidWorks EPDM 二次开发入门篇

第一次发博,大家觉得不对或不好的地方请多拍砖。

 

看了看二次开发文档,总体的感觉就是EPDM所提供的接口比较多。如果想做好这方面的开发,主要是把 EPDM 提供的API文档读懂

做EPDM二次开发,首先要有环境,vs2005或vs2008 SQLServer2005或以上 PDM客户端

言归正传,首先介绍一下EPDM二次开发的入口。

EPDM提供的二次开发的入口就是IEDMVault5-IEDMVault11的接口。程序开发前必须要声明以上所提供的类的对象。

下面做一个读取客户名字的小例子,来看看程序是怎么连接EPDM的

首先要新建一个工程。

solidWorks EPDM 二次开发入门篇

然后添加tlb文件库,一般再安装好所有环境后,会在添加引用的时候在COM栏里选择PDMWorks Enterprise 2010 Type Library,如果没有就到PDM安装程序下找Support\API\Edm.tlb

solidWorks EPDM 二次开发入门篇

拖一个按钮到Form窗体上,再拖一个listbox到窗体上。双击按钮,VS自动添加一个Click事件

具体实现代码如下:

Imports EdmLib '包含EdmLib头文件

Public Class TestUserList

    Dim vault As IEdmVault7

    Private Sub TestUserList_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        vault = New EdmVault5    '创建Edmvault5 对象

    End Sub



    Private Sub btn_GetUsers_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_GetUsers.Click

        If Not vault.IsLoggedIn Then       '如果没有登陆PDM则登陆

            vault.LoginAuto("Trainning", Me.Handle.ToInt32)

        End If

        ListBox1.Items.Clear()

        Dim userMgr As IEdmUserMgr6   '声明一个IEdmUserMgr变量

        userMgr = vault              '直接把vault的值赋给userMgr

        Dim pos As IEdmPos5          '定义一个IEdmPos5变量,(这个变量经常使用)

        pos = userMgr.GetFirstUserPosition()   '获得第一个用户

        While Not pos.IsNull

            Dim user As IEdmUser5

            user = userMgr.GetNextUser(pos)    '循环读取用户

            ListBox1.Items.Add(user.Name)

        End While

    End Sub

End Class



 

运行后的结果显示如下:
solidWorks EPDM 二次开发入门篇

你可能感兴趣的:(二次开发)