基于VSNET的NX二次开发研究.doc_第1页
基于VSNET的NX二次开发研究.doc_第2页
基于VSNET的NX二次开发研究.doc_第3页
基于VSNET的NX二次开发研究.doc_第4页
基于VSNET的NX二次开发研究.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Abstract: The paper studied the approaches and ways of customization of NX5 .1 NX二次开发语言和工具1.1 NX二次开发语言1.1.1 NX/Open GRIP.* 基于VS.NET的NX二次开发研究李晓东1,王好臣2,李玉胜1(1.山东理工大学 机械工程学院,山东 淄博 255049; 2.山东理工大学 工程实训中心,山东 淄博 255012)摘要: 本文在介绍NX二次开发语言和工具的基础上,研究了在VS.NET平台下用C#进行NX5二次开发的方法和步骤,并通过实例进行了详细说明。使二次开发人员对具体开发过程有全面的了解和认识。关键词:VS.NET;C#;NX;二次开发。中图分类号:TP391.72 文献标识码: AThe Study of Customization of NX Based on VS.NETLI Xiao-dong1,WANG Hao-chen2,LI Yu-sheng1(1.School of Machinal Engineering, Shandong University of Technology,Zibo Shandong,255049,China; 2.Engineering Practice and Traing Center, Shandong University of Technology,Zibo Shandong,255012,China;)Abstract: The paper studied the approaches and ways of customization of NX5 with c# in the platform of VS.NET based on introduced the language and tools of Customization of NX, and it is explained in detail by examples. It can help the developers comprehensive understanding specific development process.Keywords:VS.NET; C#; NX; Customization.1 引言NX5是美国Siemens PLM Software在2007年发行的数字化产品开发综合软件解决方案。UG NX5融入了行业内最广泛的集成应用程序,涵盖了产品设计、工程和制造中的全部开发流程1。NX5增强创建C/C+,VB.NET,C#和Java等的模板文件用户界面,增强了用户对话框来定义通用API函数的用户界面。NX新一代开发工具NX Open提供了一个开放的二次开发架构,用户可以根据需要方便的将各种应用软件集成到NX中去,是NX集成和定制的优秀平台。当前有许多企业根据实际情况开发了适合企业自身的NX系统,提高了企业的市场竞争力增加了企业的经济效益。Visual Studio.NET(简称VS.NET)是微软公司推出的最新程序开发工具。在相同的集成开发环境(IDE)下支持C,C+,Java,C#和VB等语言的开发。在VS.NET平台上可以开发出各种各样的应用程序。1 NX二次开发语言和工具1.1 NX二次开发语言1.1.1 NX/Open GRIP NX /Open GRIP(Graphics Interactive Programming)是一种类似FORTRAN的交互编程语言,与NX系统紧密集成,也具有外部高级语言开发的接口。利用GRIP程序,可以完成与NX的各种交互操作,如图形绘制、装配、工程图的生成及文件管理。1.1.2 NX Open API NX Open API(Application Programming Interface)它提供了NX与外部应用程序之间的接口。作为NX与外部应用程序之间的接口,NX/Open API是一系列函数的集合。外部开发语言可以直接调用API函数,API封装了2000左右个函数,可参考NX5帮助文档里的NXOpen.NET API Reference。1.1.3 NX Open for .NET NX Open for .NET是一套用于微软.NET框架的API,通过这些API访问NX核心应用程序的功能来创建高级的应用程序,可以采用微软.NET支持的任何语言包括C#、Java、VB.NET等语言进行开发。用户可以选择自己喜欢的语言来编写程序,并提供了相当丰富的类库,即可采用.NET的NX Open,也可采用.NET包装的Open API2。1.2 NX二次开发工具 除了二次开发语言外,NX还题供了其他一些辅助开发工具,可以帮我们更快更好的完成二次开发,主要包括MenuScript和NX/OPEN UIStyler。1.2.1 MenuScript MenuScript工具提供开发者创建和编辑NX下拉菜单及工具栏的功能,通过它可以改变NX菜单的布局和添加新的菜单项以执行用户应用开发程序。NX菜单通过脚本语言编写,菜单脚本语言通过ACIONS命令来指定菜单项对应的响应行为。1.2.2 NX/OPEN UIStyler NX/OPEN UIStyler 模块提供了强大的制作NX风格对话框的功能,主要包括以下方面:为开发者提供了可视化的操作环境,实现所见即所得;能够自动生成五种模板文件(C,C+,Java,C#,VB.NET),为用户编程提供方便。UIStyler创建的对话框可以被MenuScript调用,将用户应用程序与NX无缝连接3。2 应用实例 NX的二次开发主要包括三个方面:菜单的定制、对话框的建立和dll程序。一般都是由插件在主程序添加特定的菜单,点击菜单后弹出对话框,输入数据后才执行一系列的操作4。下面通过一个完整的步骤详细说明这一过程。2.1 菜单定制 在UGSNX5.0目录下建立一个目录NXCAPP,在NXCAPP下建立两个子目录startup和appllication。其中application目录下存放由NX UIStyler编辑器生成的dlg文件,startup目录下存放dlg对应的dll文件和menu文件。 在startup目录下建立NXCAPP.men文件,该menu文件后缀为*.men,一般来讲,该文件必须放在用户目录下的startup 目录中, 以便在UG 启动自动加载5。其内容如下:VERSION 120 /菜单脚本文件的版本信息EDIT UG_GATWAY_MAIN_MENUBAR /编辑主菜单TOP_MENU /第一级菜单 CASCADE_BUTTON UG_CAPP /定义第一级菜单的IDLABLE 工艺规划 /定义第一级菜单的标题END_OF_TOP_MENU /结束第一级菜单的编辑 MENU UG_CAPP /第二级菜单BUTTON UG_CAPP_ATTRI_READANDSET/定义第二级菜单的IDLABEL 属性信息提取与写入 /定义第二级菜单的标题MESSAGE 测试文件属性的提取和写入./第二级菜单的标题说明ACTIONS AttriSetAndRead.DLG /指定菜单响应行为BUTTON UG_CAPP_NC_CODE /定义第二级菜单的IDLABEL NC代码 /定义第二级菜单的标题MESSAGE 生成NC代码 /第二级菜单的标题说明ACTIONS STANDARD /指定菜单响应行为 END_OF_MENU /结束第二级菜单的编辑 写menu文件须注意:如果想添加一个新的菜单项,BUTTON的命名不能和系统已有的BUTTON重名,否则系统会认为这个控件已经存在而对定义不予理会6。 设置用户开发环境变量。NX的全部环境变量及系统路径定义都记录在NX5的安装目录UGSNX5.0UGII下的ugii_env.dat文件中,NX启动时会先载入这个文件,再调用用户定义的和标准的NX菜单文件。ugii_env.dat是一个纯文本文件,可以用window自带的记事本或者写字板打开编辑。用记事本打开UGSNX5.0UGIIugii_env.dat,在 UGII_DEFAULT_MENU_DIR=UGII_BASE_DIRugiimenus上一行添加环境变量UGII_USER_DIR=UGSNX5.OCAPP,保存退出。 启动NX5后会在菜单栏有一个自定义的菜单“工艺规划”,在该菜单下包括两个二级子菜单,如图1:图1 工艺规划菜单2.2 对话框的建立 进入NX界面选择菜单命令开始所有应用模块用户界面样式编辑器,进入UIStyler可视化界面。UIStyler可视化界面由基本对话框、对象浏览器、属性编辑器、控件栏和控件编辑工具组成。基本对话框显示最终的设计效果,对象浏览器显示基本对话框中已设置的控件信息,属性编辑器用于编辑指定控件的属性,控件编辑工具提供了编辑控件的常用工具,控件几栏列出多种控件供开发者选用。编辑界面如图2:图2 属性信息写入和读取对话框 在为对话框添加控件之后,还需要为某些控件添加适当的回调(Callbacks)函数,这样才能让对话框和二次开发的函数联系起来。当用户触发对话框控件时,系统响应该消息并执行对应回调函数。保存对话框时选择生成C#模板文件,保存成功后生成两个文件,AttriSetAndRead.cs和AttriSetAndRead.dlg.2.3 生成dll 运行Visual Studio.NET 2005,通过NX5_VCS建立名字为AttriSetAndRead的项目,在解决方案资源管理器中把Myclass.cs删除,通过_“添加现有项”_把通过UIStyler建立而得到的AttriSetAndRead.cs加入到项目中。向回调函数添加所需代码,以便被Callbacks调用,即被其他对话框调用,另外,要使这部分程序发生作用,必须将程序中#if DISPLAY_FROM_CALLBACK和#endif / DISPLAY_FROM_CALLBACK的所在语句去掉或屏蔽。属性信息写入按钮响应部分程序如下:public NXOpen.UIStyler.DialogState action_2_act_cb(NXOpen.UIStyler.StylerEvent eventObject) try theSession = Session.GetSession(); Part workPart = theSession.Parts.Work; Part displayPart = theSession.Parts.Display; workPart.SetAttribute(作者, 李晓东); catch (NXOpen.NXException ex) return NXOpen.UIStyler.DialogState.ContinueDialog;设置好后生成AttriSetAndRead.dll文件。把AttriSetAndRead.dll复制到startup目录下,把AttriSetAndRead.dlg 复制到application目录下。运行NX5,点击_“属性信息写入”_,然后查看文件的属性信息,可以看到该程序已把“作者,李晓东”写入,如图3:图3 文件的属性信息3 结语本文介绍了NX提供的二次开发语言和工具,然后通过实例,综合运用NX/Open MenuScript、NX/Open UIStyler、Visual Studio.NET 2005等NX二次开发工具,使读者对NX二次开发的过程有了较全面地认识,为以后提高二次开的效率,开发高质量的NX软件奠定了基础。参考文献:1 张瑞萍,宋强,秦长海,等.UG NX5中文版标准教程M.北京:清华大学出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论