图1 简单对象层次结构
三、 ActiveX Automation应用方法
1.引用Solid Edge类型库
Solid Edge通过类型库提供了大量的内部功能,以便于从Visual Basic(以下简称VB)等开发工具中,通过ActiveX Automdion访问这些功能。Solid Edge提供的类型库包括:Assembly.tlb(装配类型库)、constant.tlb(常数类型库)、Drdt.tlb(制图类型库)、propauto.dll(文件属性对象库)、framewrk.rlb(框架结构类型库)、geometry.tlb(几何类型库)、part.tlb(零件和板金类型库)等。若以VB作为开发工具,首先必须在其环境中引用Solid Edge的有关类型库,才能通过ActiveX Automation访问Solid Edge提供的主要对象。在VB的集成环境中,通过“工程”菜单中的“引用”命令,将所要用的库选中,即可调用对应的类型库(图2),并且可以在VB的对象浏览器中查看对象库、类型库、类、属性、方法以及事件(图3)。
图2 选中所需要的库
图3 VB的对象浏览器
2.调用Solid Edge应用程序
当选择VB为一个支持ActiveX Automation的应用程序进行编程开发时,就必须和该程序进行通讯。Solid Edge提供的应用对象(Application)为实现这种通讯提供了可能。应用对象是惟一一个允许Visual Basic程序直接访问的对象,它位于层次结构树的顶部,可以也只能通过该对象才能访问其下级的所有其他对象。
VB提供了两个函数调用Solid Edge:CreateObject和GetObject。
Dim objApp as Object
Set objApp=CreateObject(“SolidEdge.Application”)
Set objApp =GetObject(“”,“SolidEdge.Application”)
两个语句都创建不可见的Solid Edge应用对象。
下面的语句使用GetObject连接到已经存在的Solid Edge实例:
Set objApp=GetObject(,” SolidEdge.Application”)
该语句会搜索已经存在的Solid Edge实例,如果找到,变量objApp指向该实例;否则,命令失败。
在使用CreateObject或者GetObject来驱动Solid Edge的应用时,该应用不会自动创建文档对象,必须使用文档集合对象的Add方法来建立一个文档对象。Add方法是有参数的,该参数用于确定所创建的文档对象的类型或者使用的模板。如果参数为空,程序会提示用户选择一个模板。下面语句的功能是在新建的应用中建立一个零件文档对象: