基于CATIA二次開發的產品BOM屬性自動提取
該文介紹了CATIA三維設計軟件及其二次開發接口中常用的重要對象及相關函數,針對了樹形產品結構給出了常用的操作與處理方法,并利用相關對象和方法實現對產品文件的屬性提取和BOM表統計生成程序。
1、CATIA三維軟件簡介
隨著計算機輔助設計(CAD)技術的發展,三維輔助設計軟件在產品設計領域的應用越來越廣泛。CATIA全稱Computer Aided Tri-dimensional Interface Application,是法國Dassault公司開發的一款CAD/CAM/CAE于一體的三維設計軟件,廣泛應用于機械設計、汽車、航空航天、船舶、電子等各種行業中。
高度模塊化的CATIA軟件能夠滿足客戶在產品開發活動中的需要,包括風格和草圖設計、機械零件設計、裝配設計、曲線曲面設計、工程圖自動生成及產品分析和模擬。CATIA產品基于開放式可擴展的架構,其知識工程模塊通過使企業能夠重用產品設計知識,縮短開發周期,CATIA解決方案加快企業對市場的需求的反應。CATIA軟件自V5版后從工作站平臺移植到個人計算機,可以運行于Windows NT平臺,極大地拓寬了其應用范圍與使用的層面。
2、CATIA二次開發簡介
成熟的CAD/CAM軟件為了滿足不同用戶的在實際應用中的不同需求,便于用戶構建適合自身產品開發的流程,以及自動化繁瑣重復的設計步驟,一般都具有供用戶進行二次開發的接口。CATIA提供多種方式的二次開發接口,以便用戶能靈活地利用并重組CATIA已有的功能,獲取CATIA文件及內部的數據,并與外部的信息管理系統或專業的PDM系統通信。
3、CATIA二次開發中的關鍵對象
CATIA提供的二次開發接口是一個COM服務器,利用VB中的對象作為客戶端與CATIA進程進行進程間的通信,操作CATIA進程中的函數,訪問其中的數據。而VB提供的一組具有相關關系的對象形成了一個抽象層,使得用戶可以在不了解COM底層通信方式的情況下方便地對CATIA進程進行操作。
CATIA.Application對象:該對象實例是系統中CATIA進程的代表,所有其他的對象都依賴于該對象的相關方法返回。在CATIA進程已經啟動的情況下,CATIA.Application對象的實例可以以“CATIA.Application”字符串調用全局工廠函數GetObject獲得,可以將獲得的對象付給一個變量Set CATIA = GetObject("CATIA.Application")。當CATIA進程沒有啟動時,可以調用全局工廠函數Cre慍琀攀 Object函數帶“CATIA.Application”字符串獲得,并把其賦給變量Set CATIA = CreateObject("CATIA.Application")。最終,獲得的CATIA.Application對象存在CATIA變量中。
Document對象:Document類的對象代表進程中打開的CATIA文檔,Document類是其他文檔類的基類,從CATIA.Application 對象的ActiveDocument方法獲得當前激活的文檔,本次主要使用的到其子類ProductDocument的對象,并將其賦值給一個變量以便以后使用。Set productDocument = CATIA.ActiveDocument。后續的對象都要從該ProductDocument對象中獲取。
Product對象:該類型的對象代表產品文檔中的一個產品節點。CATIA產品文檔將一系列產品通過裝配組織成一個產品樹,每個產品節點可以有零到多個子節點,除了根節點以外每個產品節點都只有一個父節點。每個產品文檔有唯一的根節點,且該根節點不能更換。對于裝配進產品的零件,CATIA會生成一個簡單的產品節點對其包裝,使之成為一致的產品樹。每個產品節點可以有若干屬性,本程序主要對這些屬性進行提取與統計。對于已經獲得的產品節點,可以通過調用其Products方法獲得其子節點的集合對象,該對象是一個集合對象,可以用For Each型的循環方便地遍歷其中每一個Product對象。
結束語
本文在行為流概念的基礎上,提出一種基于行為流知識庫的功能-結構智能映射框架,該框架可在較高層次實現設計知識重用。此外,該框架可用于開發計算機輔助設計工具,用來輔助設計者進行新產品概念設計。