UG NX二次开发(C++)-环境设置-内部模式(插件)制作设置
Posted GimiGimmy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UG NX二次开发(C++)-环境设置-内部模式(插件)制作设置相关的知识,希望对你有一定的参考价值。
前言
UG NX的插件是NX二次开发中经常使用的一直方式,拓展了UG NX的功能,帮助用户完成某些特定的功能。如下图中的NXOPEN菜单项,就是挂在NX上的一个工具集合。
完成UG NX插件的开发需要以下几个步骤:
1. 创建插件加载地址
需要创建两个文件夹:
- startup—用于存放.men文件,就是插件的配置文件;
- application—用于存放插件中各个工具的dll或者exe、对话框文件.dlx。
如下图所示:
图 1 插件的两个核心文件夹
图 2 startup文件夹内容
1.1 men文件创建
在startup文件夹中,创建一个NXOpenCPP.men文件。其内容如下:
a) VERSION—是NX二次开发的版本号,在不同的UG NX版本中,其版本号可能不同。这个可以通过查询C:\\Program Files\\Siemens\\NX1980\\UGII\\menus\\ug_main.men文件查看。
b) EDIT—是插件存放位置,UG_GATEWAY_MAIN_MENUBAR是放在主的菜单栏中,这个可以更改,存放在不同的应用模块中,具体的查询C:\\Program Files\\Siemens\\NX1980\\UGII\\menus\\ug_main.men中的应用模块。
c) BEFORE与END_OF_BEFORE是一对组合,指在工具栏的位置,这里是放在UG_HELP(帮助)之前。
d) CASCADE_BUTTON是下拉菜单按钮
e) LABLE-是下拉菜单按钮的标签,这里设置为NXOpen
f) MENU与END_OF_MENU是一对组合,下拉菜单开始于MENU,终止与END_OF_MENU。将属于这个下拉菜单的按钮操作添加到内部,在界面上就会显示出来。
g) BUTTON-单个功能的dll或者exe调用入口,不能与其他的已有按钮名称相同,不然显示不正确。
h) MESSAGE-是功能的提示语句
i) BITEMAP-位图标签,这个在后面讲位图的查找
j) ACTIONS-是指按钮的动作,可以是dll,也可以是exe,后缀名可写可不写,将在application文件中搜索相同名称的dll或者exe。如果没有,则点击按钮没反应,如果是错误的,则点击按钮后会报错。
图 4 NXOpenCPP.men文件
1.2 Ribben文件创建
在NX1984版本中,不再保留经典主题,均是采用RIBBEN主题模式,所以想在界面上显示插件,则需要创建与NXOpenCPP.men文件关联的.rtb文件,也是存放在startup文件夹中。
图 5 RIBBEN文件
NXOpenCPP.trb文件内容如下图所示:
a) TITLE-是在RIBBEN主菜单上显示的插件标签
b) VERSION -RIBBEN的版本号,在NX1984中是170,这个版本号可以在C:\\Program Files\\Siemens\\NX1980\\UGII\\menus中任意一个.trb文件中查找。
c) BEGIN_GROUP与END_GROUP是一个组的组合,BEGIN_GROUP后面是组的名称,如“测试”。
d) BUTTON-与对应的.men文件中的按钮相同。如:BUTTON NXOpen_SINGLEFUNCTION_BUTTON
图 6 rtb文件内容
2. 配置插件
配置插件有两种方式:
- 采用环境变量
UGII_USER_DIR
UGII_VENDOR_DIR
UGII_SITE_DIR
只能配置一个插件工具。值指向startup文件夹的上一个文件夹。如:
图 7 配置UGII_USER_DIR环境变量
2) 修改NX中的custom_dirs.dat文件
在C:\\Program Files\\Siemens\\NX1980\\UGII\\menus\\custom_dirs.dat文件最后一行添加插件路径(D:\\ProjectRelated\\test\\NXOpenCPlusPlus)。此种方法可以实现多个插件共存在UG NX菜单栏中。
图 8 修改NX的custom_dirs.dat文件
配置完成后,重新打开UG NX1984在菜单栏中可以看到插件了。
3 创建一个对话框文件
打开NX1984,转到开发人员菜单,打开“块UI样式编辑器”。
图 9 打开块UI样式编辑器
创建一个NXOpenTest对话框。
blog.csdnimg.cn/5863a2e5c8da4c0686b74dda7f5e48b0.png)
图 10 NXOpenTest对话框
保存NXOpenTest对话框到application文件夹中,提示会保存.dlx、.cpp、.hpp三个文件。
图 11 保存对话框时的提示
在application文件夹中可以看到:
图 12 application文件中保存的文件
4 创建NXOpenTest工程
在NXOpenCPlusPlus解决方案中添加一个NXOpenTest项目。
图 13 新建一个项目
选择“添加一个新的项目”,选择NXOPEN C++ Wizard模板,设置项目名称为:“NXOpenTest”。在NXOpenCPlusPlus解决方案文件夹中创建一个Test文件,用于存放具有测试功能的项目。
图 14 设置项目名称和存储位置
点击“确定”。
图 15 NXOpenTest项目的说明语句
图 16 NXOpenTest工程设置
点击“Finish”,进入NX程序的入口设置。
图 17 入口设置
点击“Finish”,完成项目创建。
图 18 NXOpenTest项目添加到NXOpenCPlusPlus解决方案中
将application文件夹的NXOpenTest.cpp和NXOpenTest.hpp复制到NXOpenTest项目中。
图 19 NXOpenTest项目中添加源文件和头文件
5. 生成解决方案
点击“生成”->“生成解决方案”,完成项目的编译链接,生成NXOpenTest.dll文件。
文件地址为:
图 20 NXOpenTest项目属性中的输出目录
图 21 NXOpenTest.dll输出位置
将NXOpenTest.dll复制到application文件中。
6 测试NXOpenTest
将NXOpenTest.men文件中的BUTTON NXOpen_SINGLEFUNCTION_BUTTON的ACTIONS后面添加NXOpenTest。
图 22 将NXOpenTest添加到Actions中
保存。
重新打开NX1984,点击NXOPEN->功能测试,弹出:
图 23 测试NXOpenTest功能
至此,一个插件功能的开发过程就完成了。至于插件界面上的功能代码编写,在后续章节介绍。
结论
UG NX二次开发制作插件是很有用的,很多的外挂都是基于UIStyler完成的。如果有需要帮助,请私信加V。
以上是关于UG NX二次开发(C++)-环境设置-内部模式(插件)制作设置的主要内容,如果未能解决你的问题,请参考以下文章