
圖1 簡單對象層次結構
三、 ActiveX Automation應用方法
1.引用Solid Edge類型庫
Solid Edge通過類型庫提供了大量的內部功能,以便于從Visual Basic(以下簡稱VB)等開發(fā)工具中,通過ActiveX Automdion訪問這些功能。Solid Edge提供的類型庫包括:Assembly.tlb(裝配類型庫)、constant.tlb(常數(shù)類型庫)、Drdt.tlb(制圖類型庫)、propauto.dll(文件屬性對象庫)、framewrk.rlb(框架結構類型庫)、geometry.tlb(幾何類型庫)、part.tlb(零件和板金類型庫)等。若以VB作為開發(fā)工具,首先必須在其環(huán)境中引用Solid Edge的有關類型庫,才能通過ActiveX Automation訪問Solid Edge提供的主要對象。在VB的集成環(huán)境中,通過“工程”菜單中的“引用”命令,將所要用的庫選中,即可調用對應的類型庫(圖2),并且可以在VB的對象瀏覽器中查看對象庫、類型庫、類、屬性、方法以及事件(圖3)。

圖2 選中所需要的庫

圖3 VB的對象瀏覽器
2.調用Solid Edge應用程序
當選擇VB為一個支持ActiveX Automation的應用程序進行編程開發(fā)時,就必須和該程序進行通訊。Solid Edge提供的應用對象(Application)為實現(xiàn)這種通訊提供了可能。應用對象是惟一一個允許Visual Basic程序直接訪問的對象,它位于層次結構樹的頂部,可以也只能通過該對象才能訪問其下級的所有其他對象。
VB提供了兩個函數(shù)調用Solid Edge:CreateObject和GetObject。
Dim objApp as Object
Set objApp=CreateObject(“SolidEdge.Application”)
Set objApp =GetObject(“”,“SolidEdge.Application”)
兩個語句都創(chuàng)建不可見的Solid Edge應用對象。
下面的語句使用GetObject連接到已經存在的Solid Edge實例:
Set objApp=GetObject(,” SolidEdge.Application”)
該語句會搜索已經存在的Solid Edge實例,如果找到,變量objApp指向該實例;否則,命令失敗。
在使用CreateObject或者GetObject來驅動Solid Edge的應用時,該應用不會自動創(chuàng)建文檔對象,必須使用文檔集合對象的Add方法來建立一個文檔對象。Add方法是有參數(shù)的,該參數(shù)用于確定所創(chuàng)建的文檔對象的類型或者使用的模板。如果參數(shù)為空,程序會提示用戶選擇一個模板。下面語句的功能是在新建的應用中建立一個零件文檔對象: