您的位置:网站首页 > UG教程下载

基于VS.NET框架的NX二次开发

时间:2010-11-15 11:58:01 来源:未知

  1 NX5.0二次开发语言和工具

  NX/open支持的C、C++、NX C++、GRIP、NET、Java 6种语言函数/类库,其中C和GRIP支持面向过程程序设计,NET和Java支持面向对象程序设计.NX Open for.NET是一套用于微软。NET框架的API,通过这些API访问NX核心应用程序的功能来创建高级的应用程序,可以采用微软。NET支持的任何语言包括C#、Java、VB.NET等语言进行开发,用户可以选择自己喜欢的语言来编写程序,并提供了相当丰富的类库,既可采用.NET的NX Open,也可采用NET包装的Open APIc21。

  NX不仅有强大丰富的函数/类库支持,针对二次开发需求,它本身还提供了诸多辅助开发工具,主要包括MenuScript和NX/OPEN UIStylerL30.MenuScript工具提供开发者创建和编辑NX下拉菜单及工具栏的功能,通过它可以改变NX菜单的布局和添加新的菜单项以执行用户应用开发程序.NX菜单通过脚本语言编写,菜单脚本语言通过ACIONS命令来指定菜单项对应的响应行为.NX/0PEN UIStyler模块提供了强大的制作NX风格对话框的功能,主要包括以下方面:为开发者提供了可视化的操作环境,实现所见即所得;能够自动生成5种模板文件(C、C++、Java、C#、VB.NET),为用户编程提供方便.UIStyler创建的对话框可以被MenuScript调用,将用户应用程序与NX无缝连接。

  2 二次开发的实现

  NX的二次开发主要包括3个方面:菜单的定制、对话框的建立和动态链接库。一般都是由插件在主程序添加特定的菜单,点击菜单后弹出对话框,输入数据后才执行一系列的操作。下面通过一个完整的步骤详细说明这一过程。

  2.1 MenuScript定制菜单

  在UGSNX5.o目录下建立一个目录ParModel,在ParModel下建立两个子目录startup和appl—lication.其中application目录下存放由NX UIStyler编辑器生成的dig文件,startup目录下存放dlg对应的dn文件和menu文件。

  在startup目录下建立ParModel.men文件,此脚本文件的扩展名为*.men,是文本文件,可以通过任何文本编辑器进行编写。当用MenuScript准备好一个菜单脚本后,每次碰到的行为名都被加到行为注册表中,并且相应的回调函数也被附加到菜单项。其内容如下:

  

  写menu文件需注意:如果想添加一个新的菜单项,BUTTON的命名不能和系统已有的BUT—TON重名,否则系统会认为这个控件已经存在而对定义不予理会。

  设置用户开发环境变量,NX的全部环境变量及系统路径定义都记录在NX5的安装目录UGSNX5.0UGII下的ugii—env.dat文件中,NX启动时会先载入这个文件,再调用用户定义的和标准的NX菜单文件。ugii~env.dat是一个纯文本文件,可//结束第二级菜单的编辑以用window自带的记事本或者写字板打开编辑.用记事本打开UGSNX5.OUGIIkugii—env.dat,在UGII—DEFAULT—MENU—DIR={UGII—BASE—DIRugiimenus上一行添加环境变量UGII—US—ER—DIR=UGSNX5.OParModel,保存退出。

  启动NX5后会在菜单栏有一个自定义的菜单“参数驱动模型”,在该菜单下包括两个二级子菜单,如图1所示。

  

  图1 参数驱动模型菜单

  2.2 UIStyler对话框设计

  进入NX界面,选择菜单命令开始一所有应用模块一用户界面样式编辑器,进入UIStyler可视化界面.编辑界面如图2所示。

  

  图2 弹簧参数对话框

  在为对话框添加控件之后,还需要为某些控件添加适当的回(Callbacks)函数,这样才能让对话框和二次开发的函数联系起来。当用户触发对话框控件时,系统响应该消息并执行对应回调函数,保存对话框时选择生成C#模板文件,保存成功后生成ParModel.CS和ParModel.dig两个文件。#p#分页标题#e#

  2.3 生成动态链接库

  运行Visual Studio.NET 2005,通过NX5--VCS建立名字为ParModel的项目,在解决方案资源管理器中把Myclass.cs删除,通过“添加→现有项”把通过UIStyler建立而得到的ParModel.cs加入到项目中,向回调函数添加所需代码,以便被Callbacks调用,即被其他对话框调用。另外,要使这部分程序发生作用,必须将程序中#if DISPLAY_FROM_CALLBACK和#endif//DISPLAY_FROM_CALLBACK的所在语句去掉或屏蔽。“创建”按钮响应添加的程序如下:

  

  

  

  3 运行结果

  打开NX5.0,在菜单上选择“参数驱动模型→弹簧”,打开“弹簧参数对话框”,设置参数:圈数6,螺距10,中径20,截面半径1,点击“创建”即可生成弹簧模型,如图3所示。

  

  图3 弹簧模型

  4 结束语

  本文介绍了NX提供的二次开发语言和工具,通过实例,综合运用NX/Open MenuScript、NX/Open UIStyler、Visual Studio.NET 2005等NX二次开发工具,使我们对NX二次开发的过程有了较全面的认识,为以后提高二次开发的效率,开发高质量的NX软件奠定了基础。