solidWorks EPDM 二次開發入門篇

來源:互聯網
上載者:User

第一次發博,大家覺得不對或不好的地方請多拍磚。

 

看了看二次開發文檔,總體的感覺就是EPDM所提供的介面比較多。如果想做好這方面的開發,主要是把 EPDM 提供的API文檔讀懂

做EPDM二次開發,首先要有環境,vs2005或vs2008 SQLServer2005或以上 PDM用戶端

言歸正傳,首先介紹一下EPDM二次開發的入口。

EPDM提供的二次開發的入口就是IEDMVault5-IEDMVault11的介面。程式開發前必須要聲明以上所提供的類的對象。

下面做一個讀取客戶名字的小例子,來看看程式是怎麼串連EPDM的

首先要建立一個工程。

然後添加tlb檔案庫,一般再安裝好所有環境後,會在添加引用的時候在COM欄裡選擇PDMWorks Enterprise 2010 Type Library,如果沒有就到PDM安裝程式下找Support\API\Edm.tlb

拖一個按鈕到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 SubEnd Class

 

運行後的結果顯示如下:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.