欢迎来到天天文库
浏览记录
ID:55631863
大小:847.50 KB
页数:14页
时间:2020-05-21
《NX二次开发应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、NX二次开发应用一、NXAPI简介NX是一款功能强大的CAD/CAM/CAE软件,它不仅可以通过UI操作来控制各种功能,还提供了多种应用程序开发包(API)对NX内部对象进行访问。在这些API基础上,用户可以开发各种自动程序,定制NX功能,甚至可以在现有NX功能之上二次开发新的CAD/CAM/CAE软件产品。1.NXAPI具有如下特点:(1)支持多种开发语言:C,C++,Java,.Net,Python。(2)支持多种操作系统平台:Windows,Linux,Unix。(3)超过90%的NX功能覆盖率。2.NXAP
2、I架构与统一对象模型NX内部采用统一对象模型来描述NX内部任一对象及其操作。NXUI操作和NXAPI都是构建于NX统一对象模型之上,以确保NXAPI与从UI操作访问的是统一的NX内部对象模型。基于不同语言的NXAPI都是由同一个NX内部对象转化而来,无论用户采用哪一种语言的API其最终调用的是同一个内核函数,从而真正实现了平台无关性和开发语言无关性。3.现有NXAPI自1976年,UG(NX的前身)提供了第一个APIGRIP起,NX陆续了提供了UGOpen(1997年),KF(2000年),NXOpen(2004年
3、)等多种API。(1)GRIP(GraphicsInteractive):一种类似LISP的简单交互式图形编程语言。GRIP程序以其运行效率高、简单易学和不长驻内存的特点深受工程人员的喜爱,但其可实现NX的功能比较少,有一定的局限性。一般适用企业简单的二次开发。(2)UGOpen(也被称为UFUN):一种基于C的NX二次开发API,包括3000多个C函数,其功能强大的特点适合企业或第三方软件公司进行系统、高级的开发。由于它是直接在NX的内部代码的基础上建立的,所以可实现大部分NX的功能,但它需要有C语言和软件工程等
4、技术的支持,相对比较难学。(3)KF(KnowledgeFusion):一种应用于知识熔接技术的由求解需求驱动的解释性面向对象的语言,是基于知识工程的智能化的NX二次开发API,其灵活、易学、可以知识驱动的特点适合企业或第三方软件公司进行专家系统的开发。但是目前它的功能不是很全,所以往往和UGOpen和NXOpen结合起来进行开发。(4)NXOpen:一种完全基于面向对象的新一代NX二次开发API。它支持多种开发语言与多种操作系统平台,覆盖了NX绝大部分功能。可从Journal功能直接录制NX的操作生成代码,开发更
5、为简单,适合工程人员进行简单快速的开发,也适合企业和第三方软件公司进行高级复制的功能定制。4.NXAPI比较用户在进行NX二次开发时需要了解各API的特点,结合项目开发的需求,选用适合的API进行开发。以下在对不同NXAPI就易用性,主流性和可扩展性方面进行了较为客观的比较:oq易用性:开发语言是否清楚,直观,并有较好的帮助文档与代码例程。oq主流性:是否支持主流的开发语言与主流的IDE(集成开发环境)。oq可扩展性:代码是否容易移植到新的NXAPI。oq发布的NX版本:要开发的NX版本应该高于NXAPI的发布版本
6、。二、NX开发环境设置1.基本环境变量环境变量在NX的运行过程中有着重要的应用,一些环境变量在安装NX之后便已经设置。其中最常用的基本环境变量包括:UGII_BASE_DIRNX 安装的文件夹路径UGII_ROOT_DIRNX 安装文件夹中UGII的位置UGS_LICENSE_SERVER 28000@######UGII_LANG ENGLISH其它常用的环境变量在ugii_env_ug.dat文件中定制,该文件默认位于$UGII_ROOT_DIR目录下,
7、不建议用户修改。用户可以修改同目录下的ugii_env.dat文件,添加一些环境变量覆盖已有的环境变量以控制NX的运行方式,该文件可以通过环境变量UGII_ENV_FILE进行设定。2.用户环境变量NX用户通常应用环境变量指向一个根目录来配置开发的应用程序。常用的环境变量包含以下两个:UGII_USER_DIR:用户二次开发程序根目录的完整路径。该环境变量在NX安装之后处于未定义状态,定义之后,NXOpen就可以从这些目录得到二次功能扩充。该环境变量主要应用于单个应用程序的开发过程中。UGII_CUSTOM_DIR
8、ECTORY_FILE:指向一个包含所有用户二次开发程序根目录完整路径。该环境变量在NX安装后默认指向$UGII_ROOT_DIRmenuscustom_dirs.dat文件。用户可以修改该文件,在文件中添加任意多个NX二次开发程序根目录路径,以便用户对二次开发程序进行系统的管理和配置。二次开发应用程序的发布推荐使用该方法,尤其适用于企业级客户多系统开发
此文档下载收益归作者所有