NX二次开发应用 下载本文

内容发布更新时间 : 2024/11/16 18:10:19星期一 下面是文章的全部内容请认真阅读。

NX二次开发应用

一 、NX API简介

NX是一款功能强大的CAD/CAM/CAE软件,它不仅可以通过UI操作来控制各种功能,还提供了多种应用程序开发包(API)对NX内部对象进行访问。在这些API基础上,用户可以开发各种自动程序,定制NX功能,甚至可以在现有NX功能之上二次开发新的CAD/CAM/CAE软件产品。 1. NX API 具有如下特点:

(1) 支持多种开发语言:C, C++, Java, .Net, Python。 (2) 支持多种操作系统平台:Windows,Linux,Unix。 (3) 超过90%的NX功能覆盖率。 2. NX API架构与统一对象模型

NX内部采用统一对象模型来描述NX内部任一对象及其操作。NX UI操作和NX API都是构建于NX统一对象模型之上,以确保NX API与从UI操作访问的是统一的NX内部对象模型。基于不同语言的NX API都是由同一个NX内部对象转化而来,无论用户采用哪一种语言的API其最终调用的是同一个内核函数,从而真正实现了平台无关性和开发语言无关性。

3. 现有NX API

自1976 年,UG (NX 的前身)提供了第一个API GRIP起,NX陆续了提供了UGOpen(1997 年),KF(2000 年),NXOpen(2004 年)等多种 API。 (1) GRIP(Graphics Interactive):一种类似LISP的简单交互式图形编程语言。GRIP程序以其运行效率高、简单易学和不长驻内存的特点深受工程人员的喜爱,但其可实现NX的功能比较少,有一定的局限性。一般适用企业简单的二次开发。 (2) UGOpen(也被称为 UFUN):一种基于C的NX二次开发API,包括3000多个C函数,其功能强大的特点适合企业或第三方软件公司进行系统、高级的开发。由于它是直接在 NX的内部代码的基础上建立的,所以可实现大部分NX的功能,但它需要有C语言和软件工程等技术的支持,相对比较难学。

(3) KF(Knowledge Fusion):一种应用于知识熔接技术的由求解需求驱动的解释性面向对象的语言,是基于知识工程的智能化的NX二次开发API,其灵活、易学、可以知识 驱动的特点适合企业或第三方软件公司进行专家系统的开发。但是目前它的功能不是很全,所以往往和 UGOpen和NXOpen 结合起来进行开发。 (4) NXOpen:一种完全基于面向对象的新一代NX二次开发API。它支持多种开发语言与多种操作系统平台,覆盖了NX绝大部分功能。可从Journal功 能直接录制NX的操作生成代码,开发更为简单,适合工程人员进行简单快速的开发,也适合企业和第三方软件公司进行高级复制的功能定制。

4. NX API 比较

用户在进行NX二次开发时需要了解各API的特点,结合项目开发的需求,选用适合的API进行开发。以下在对不同NX API就易用性,主流性和可扩展性方面进行了较为客观的比较:

?易用性:开发语言是否清楚,直观,并有较好的帮助文档与代码例程。

o ?主流性:是否支持主流的开发语言与主流的IDE(集成开发环境)。 o ?可扩展性:代码是否容易移植到新的NX API。

o ?发布的NX版本:要开发的NX版本应该高于NX API的发布版本。

o

二、 NX开发环境设置

1. 基本环境变量

环境变量在NX的运行过程中有着重要的应用,一些环境变量在安装NX之