NX二次开发NXOpen对象模型介绍
理解 NX 通用对象模型以及其中各个对象之间的关联关系是开发人员掌握NXOpen应用程序开发的关键,下图显示了一个基本的通用对象模型片段。完整的NXOpen对象模型,可以参照 NXOpenC++/Java/.NET 参考手册。
NXOpen对象模型和其他面向对象的开发语言类似,所有的对象类都按照不用应用环境的命名空间进行管理,如Annotations,Features,Preferences,BlockStyler等。
TaggedObject:所有 NX对象的基类。它主要用于标识NX 里面所有的永久对象,也就是所有随着部件保存同时保存的 NX对象。由于UGOpen应用 Tag对象标识对所有的NX 对象进行映射和管理,为了同时支持 UGOpen关联的开发,一些NX临时对象也会从该类继承。
NXObject:从 TaggedObject继承,提供了设置和获得对象名称、属性 (Attribute)的方法,是所有NX 详细对象的基类。
TransientObject: NX 临时对象的基类,这些对象没有Tag 对象标识,在部件保存时也不会被保存。对于没有垃圾自动回收的开发语言,如 C++,临时对象使用结束之后必须要显示调用Dispose 方法来处置。ppTaggedObjectCollection:NXTag 对象集合的基类。该类通常包含以下功能,创建新的 NX对象,获得该对象集合中的所有NX 对象。
Session & UI:NXOpenAPI 的入口类,NXOpen中所有其他的类对象都可以直接或者间接的通过这两个类的方法和属性(Method)得到。在任何一个独立的NX 运行环境中,只有一个独立的 Session实例,可以通过 Session的静态函数GetSession获得该实例UI和 Session一样,在NX 运行环境中也只有一个实例,可以通过 UI的静态函数GetUI获得该实例。由于UI 包含的是所有和 NX 交互界面相关的类对象和方法,因此,只能在NX 交互界面相关的应用程序中被调用,UI不可以应用于NXOpen批处理开发模式中。
Part:NX 部件类。该类包含了绝大部分NX 对象的集合,也就是获得继承自TaggedObjectCollection的对象。例如,Part类对象可以通过Features 方法获得包含所有 Feature的 FeatureCollection对象。其中,FeatureCollection对象从TaggedObjectCollection继承,可以获得FeatureBuilder来完成Feature 的创建和编辑。
Builder:所有的特征(Feature)以及绝大多数其他的NX Entity 都是通过 Builder对象来实现创建和编辑操作。Builder对象提供了一系列的get 和 set方法来定义需要创建和编辑的NX Entity。这些方法通常和用户在 NX用户界面中交互式创建和编辑实体的输入一致。Builder对象也可以用来获取NX Entity 的参数属性。应用 Builder对象来创建或编辑NX Entity,需要先设置或修改 Builder对象中的参数设置,然后调用Commit 方法来实现 NXEntity 的创建和编辑。同时,在结束应用Builder对象之后,必须要调用Destroy 方法来销毁 Builder对象。
SmartObject:SmartObject是一类特殊的NX Entity,这些Entity 定义中可以“记住他们的父对象”以及其生成方式。例如,一个通过两条线相交得到的Smart Point 对象,记录了生成该店的两条线以及相交生成点的方式。如果任意一条线有了移动,在保持相交的情况下,这个Smart Point也会更新到新的坐标点。
联系客服