UG NX二次开发(C++)-环境设置-内部模式(插件)制作设置

Posted GimiGimmy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UG NX二次开发(C++)-环境设置-内部模式(插件)制作设置相关的知识,希望对你有一定的参考价值。

前言

UG NX的插件是NX二次开发中经常使用的一直方式,拓展了UG NX的功能,帮助用户完成某些特定的功能。如下图中的NXOPEN菜单项,就是挂在NX上的一个工具集合。

完成UG NX插件的开发需要以下几个步骤:

1. 创建插件加载地址

需要创建两个文件夹:

  1. startup—用于存放.men文件,就是插件的配置文件;
  2. 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. 配置插件

配置插件有两种方式:

  1. 采用环境变量
     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++)-环境设置-内部模式(插件)制作设置的主要内容,如果未能解决你的问题,请参考以下文章

请问UG的二次开发主要用啥语言?

UG NX二次开发(C#)-外部模式-导出dwg格式的文件

UG NX二次开发(C#)-外部模式-导出dwg格式的文件

ug二次开发怎么设置

UG NX二次开发(C#)-外部模式-创建一个新的空模型文件

UG NX二次开发(C#)-CAM-加工模板程序方法刀具和几何体的读取