1.1 开发方式

NX二次开发主要包括以下方式:

● GRIP(Graphics Interactive Programming,图形交互编程)

● KF(Knowledge Fusion,知识熔接技术)

● SNAP(Simple NX Application Programming,简易NX应用编程)

● NXOpen C(也称User Function,简称UFUN)

● NXOpen C++

● NXOpen.NET

● NXOpen Java

● NXOpen Python

尽管NX二次开发方式很多,但它们都可以统一为如图1-1所示的NX二次开发架构关系。从图中不难看出,无论采用哪种方式进行NX二次开发,最终它都是调用共享的C/C++API。

之所以能被统一,是因为官方在开发NX时使用的是C/C++,再通过*.ja文件控制是否要自动生成其他开发方式对应的API。

因此,理论上NXOpen C/C++包含的API是最完整的,性能也是最强的。例如:NXOpen C中有用于读取视图中心与缩放比例的API uc6430(char*cp1,double*rr2,double*rr3),而NXOpen.NET、NXOpen Java、NXOpen Python中就无此API。其原因是其他开发方式中的API是官方通过开发工具自动生成的,当开发工具遇到API中参数用指针形式表示数组且没有指定数组长度的情况时,它无法自动识别数组的长度;而开发者可以根据NXOpen C帮助文档中的描述,人为判断数组的长度。例如:要求输入点坐标,可以判断数组长度为3。

这不代表开发者就不能使用NXOpen.NET、NXOpen Java、NXOpen Python开发方式来获取视图中心与缩放比例了,官方也提供了其他类似API实现相同的功能。

图1-1 NX二次开发架构关系

1.1.1 开发方式比较

NX二次开发方式比较如表1-1所示。

表1-1 NX二次开发方式比较

1.1.2 开发方式推荐

通过以上比较,笔者推荐使用NXOpen C++与NXOpen C(UFUN)结合的方式开发应用程序。