2009年7月5日 星期日

PDM/PLM (SmarTeam) 二次開發 - Lesson One - 入門知識

PDM/PLM種類
PDM/PLM 軟體有相當多種,國外較知名的有
  1. SmarTeam(Dassault)
  2. Windchill(PTC)
  3. Teamcenter (UG)
  4. Agile(Oracle)
國內也有幾間在開發
  1. HyperPDM(大塚)
  2. urPDM(中衛)
  3. METIS(中國生產力)
Anyway, 上述幾種不做過多的優缺點評論(避免涉及攻擊)
而我們選用的產品是達梭的 SmarTeam,故以下會針對 SmarTeam 來做二次開發(客製化)的介紹,由於 PDM 是較封閉的圈圈,故會學習二次開發的表示對 PDM 有一定程式的瞭解,故不對 PDM 的操作方式多做介紹

程式語言
SmarTeam 二次開發的程式語言可分為兩種
  1. Script:採用的是 Smart Script,大致上與 VB Script 差不多
  2. .Net/COM:早期版本支援 VB6,後來的版本支援 .Net,但皆需註冊成COM
若要執行 COM 則需透過 Script 來呼叫 COM 的方法

二次開發##CONTINUE##
SmarTeam 程式的開發可分種兩種
  1. 獨立運作程式:撰寫獨立的程式來與 SmarTeam 進行互動
  2. 事件觸發:透過 SmarTeam 事件的偵測或是按鈕/選單的驅動來觸發二次開發的程式
在此介紹的是透過 SmartTeam 軟體介面的操作產生的事件來觸發程式
SmarTeam 觸發程式的點稱為 Hook,可分為 Client Hook 及 Server Hook
  1. Client Hook:將程式安裝至 Client 並註冊成 COM,透過 Script 來呼叫 COM 中的方法
  2. Server Hook:程式毋需一一佈署在 Client 端,一樣須透過 Script 來呼叫 COM 中的方法
之前有介紹事件觸發的點有分為SmarTeam 事件的偵測及按鈕/選單的驅動
  1. SmarTeam 事件:SmarTeam 有開放許多事件來觸發程式,例如 Login/Logout、Check in/Check out...等事件,其程式可安排在事件的前後或取代原本的操作

    可觸發的事件依類別的不同而有所不同,例如有些類別沒有生命週期的機制,當然不會有 Check in/Check out 的事件

    下圖為可用的事件範例(SmarTeam R19版),可由 「開始 --> SMARTEAM --> Administrative Tools --> Admin Console」 開啟管理控制台

    再點選 「應用程式工具 --> Script Maintenance」 開啟 Script 維護工具


























  2. 按鈕/選單驅動:透過表單(Form)的按鈕來觸發或是將指令插入 SmarTeam 的下拉選單中下圖為按鈕的事件觸發範例,一樣先開啟 Admin Console

    再點選 「使用者界面管理--> Form Designer」 開啟表單維護工具(這裡不談表單如何設計)

    圖中 Button 掛載了 OnClick 事件去驅動 GetProjectData() 方法















    而 GetProjectData() 是來自一個 Script 檔案中的方法,點選OnClick事件即可開啟 Script 瀏覽器
    如下圖,透過 Script 瀏覽器即可選取 Script 檔中所撰寫的方法

沒有留言:

張貼留言