勇哥注:
NX提升了多种应用程序开发包(API)对NX内部对象进行访问。
在这些API基础上,用户可以开发各种自动程序,定制NX功能,甚至可以在现有NX功能之上二次开发新的CAD/CAM/CAE软件产品。
NX API具有如下特点:
1)多种开发语言支持:C,C++,Java,.Net,Python
2)多种操作系统平台支持:Windows,Linux,Unix
3)超过 90%的 NX功能覆盖率
4)不同 NX 版本间的良好一致性
我们可以按下面方法看到当前版本NX支持的编程语言:
按快捷键:Ctrl+2
唤出“用户界面首选项”,可以看到脚本支持的语言。
(图1)
NX API 架构与统一对象模型
NX内部采用统一对象模型来描述NX内部任一对象及其操作。
NX UI操作和NX API都是构建于NX统一对象模型之上,以确保NX API与从UI操作访问的是统一的NX内部对象模型。
基于不同语言的NX API都是由同一个NX内部对象转化而来,无论用户采用哪一种语言的API其最终调用的是同一个内核函数,从而真正实现了平台无关性和开发语言无关性。
自1976年,UG(NX的前身)提供了第一个API GRIP起,NX陆续了提供了UG Open(1997年),KF(2000年),NX Open(2004年)等多种 API。
(1)license
它有两种:
1.author
可以创建和编译。很贵
2.access
可以直接使用签名后的代码(dll,exe)
这个跟halcon的license一样,author就是开发版。
(2)NXOpen
分为两种:NXOpen C, NXOpen C++
前者是一个过滤产品,基本不会再使用了。
一般都是使用后者。
(3)Journaling
它是录制功能(即图1的“操作记录”)
要使用这个功能,在工具栏上右键,选择菜单中的“开发人员”。
这个时候,菜单栏就多出一个“开发人员”功能菜单。
里面就有“播放”和“录制”等功能。
录制播放方法,勇哥做了个演示如下:
这个演示只是做了一个视图的操作。
点击编辑,可以看到录制出来的C#代码。
从代码里,可以看到open api的调用示例,再参考函数手册,是一种快速的学习api的方式。
(4)NX User Interface
即Nx提供的开发界面

