NX二次开发-创建功能区工具栏UF_UI_create_ribbon
NX9+VS2012
1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men
找到装配和PMI,在中间加上一段
TOGGLE_BUTTON LSYTOOLS
LABEL 自定义工具箱
BITMAP cam_new_tool
ACTIONS LSYTOOLS
2.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\profiles\All\rbn_application.rtb
找到建模,在前面加上一段
1 BUTTON LSYTOOLS
在D:\Program Files\Siemens\NX 9.0里新建一个文件夹LSYTOOLS
在LSYTOOLS创建两个文件夹Application和Startup
在Startup里创建菜单文件LSYTOOLS.men
写入内容如下
1 VERSION 120
2 EDIT UG_GATEWAY_MAIN_MENUBAR
3
4 AFTER UG_HELP
5 CASCADE_BUTTON LSYTools
6 LABEL 自定义工具箱
7 END_OF_AFTER
8
9 MENU LSYTools
10
11 BUTTON LSYDrawTools
12 LABEL 图纸工具
13 BITMAP border_zones
14 ACTIONS LSYDrawTools
15
16 BUTTON LSYStlPdfTools
17 LABEL 导出STL PDF工具
18 BITMAP true_shade
19 ACTIONS LSYStlPdfTools
20
21 BUTTON LSYExcelTools
22 LABEL 导入EXCEL创建曲线
23 BITMAP spreadsheet
24 ACTIONS Test1
25
26 BUTTON LSYUpdateDrawViewTools
27 LABEL 切换到工程图工具
28 BITMAP appl_drafting
29 ACTIONS Update_Draw_View
30
31 BUTTON LSYWrite_Dim_NameTools
32 LABEL 工程图改尺寸名字工具
33 BITMAP edit_text
34 ACTIONS Write_Dim_Name
35
36 BUTTON OpenWenJianJia
37 LABEL 打开当前part文件夹
38 BITMAP fileopen
39 ACTIONS OpenWenJianJia
40
41 BUTTON CycleSetExp
42 LABEL 批量修改表达式
43 BITMAP equals
44 ACTIONS CycleSetExp
45
46 BUTTON OpenTxtWriteExp
47 LABEL 记事本编辑if/else表达式
48 BITMAP rename
49 ACTIONS OpenTxtWriteExp
50
51 BUTTON CreateExpGroup
52 LABEL 创建表达式组
53 BITMAP styler_group_box
54 ACTIONS CreateExpGroup
55
56 BUTTON CreateFeatureGroup
57 LABEL 创建特征组
58 BITMAP folder_new
59 ACTIONS CreateFeatureGroup
60
61 BUTTON CycleDeleteTuKuang
62 LABEL 批量删除图框
63 BITMAP delete
64 ACTIONS CycleDeleteTuKuang
65
66 BUTTON CreateHelp
67 LABEL 自定义1
68 BITMAP styler_string
69 ACTIONS CreateHelp
70
71 BUTTON CreateHelpRedBlock
72 LABEL 自定义2
73 BITMAP curve_section
74 ACTIONS CreateHelpRedBlock
75
76
77 END_OF_MENU
在Application里创建LSYTOOLS.rtb功能区工具栏,写入内容如下。
1 TITLE 自定义工具箱
2 VERSION 170
3
4 BEGIN_GROUP 图纸工具
5 BUTTON LSYDrawTools
6 BUTTON LSYUpdateDrawViewTools
7 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
8 BUTTON LSYWrite_Dim_NameTools
9 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
10 BUTTON CycleDeleteTuKuang
11 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
12 END_GROUP
13
14
15 BEGIN_GROUP 表达式工具
16 BUTTON CycleSetExp
17 BUTTON CreateExpGroup
18 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
19 BUTTON OpenTxtWriteExp
20 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
21 END_GROUP
22
23 BEGIN_GROUP 帮助图工具
24 BUTTON CreateHelp
25 BUTTON CreateHelpRedBlock
26 END_GROUP
27
28 BEGIN_GROUP 建模工具
29 BUTTON OpenWenJianJia
30 BUTTON CreateFeatureGroup
31 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
32 BUTTON LSYStlPdfTools
33 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
34 BUTTON LSYExcelTools
35 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
36 END_GROUP
在创建LSYTOOLS.tbr经典工具栏,写入内容如下。
1 TITLE 自定义工具箱
2 VERSION 170
3 BUTTON LSYDrawTools
4 BUTTON LSYStlPdfTools
5 BUTTON LSYExcelTools
6 BUTTON LSYUpdateDrawViewTools
7 BUTTON LSYWrite_Dim_NameTools
8 BUTTON OpenWenJianJia
9 BUTTON CycleSetExp
10 BUTTON OpenTxtWriteExp
11 BUTTON CreateExpGroup
12 BUTTON CreateFeatureGroup
13 BUTTON CycleDeleteTuKuang
14 BUTTON CreateHelp
设置环境变量
把D:\Program Files\Siemens\NX 9.0\LSYTOOLS,路径复制到D:\Program Files\Siemens\NX 9.0\UGII\menus\custom_dirs.dat里,
打开粘贴到最后一行
下面去VS里写代码
1 #include <uf.h>
2 #include <uf_ui.h>
3 #include <uf_mb.h>
4
5
6 UF_initialize();
7
8 static UF_UI_toolbar_id_t DEMP_tbr_id = NULL;
9 static UF_UI_ribbon_id_t ribbon_id = NULL;
10
11 int demoToggleBtn_id;
12 UF_MB_state_t demo_btn_state;
13 UF_MB_ask_button_id("LSYTOOLS", &demoToggleBtn_id);//获取按钮的ID
14 UF_MB_ask_toggle_state(demoToggleBtn_id, &demo_btn_state);//获取切换按钮的当前状态
15 if (UF_MB_ON == demo_btn_state)
16 {
17 if (DEMP_tbr_id == NULL)
18 {
19 UF_UI_create_toolbar("LSYTOOLS.tbr", 1, &DEMP_tbr_id);//创建经典工具栏
20 UF_UI_set_toolbar_vis(DEMP_tbr_id, 1);//设置经典工具栏的可见性
21
22 UF_UI_create_ribbon("LSYTOOLS.rtb", 1, &ribbon_id);//创建功能区工具栏
23 UF_UI_set_ribbon_vis(ribbon_id, 1);//设置功能区工具栏的可见性
24
25 }
26 }
27 else
28 {
29 UF_UI_remove_toolbar(DEMP_tbr_id);//删除经典工具栏
30 UF_UI_remove_ribbon(ribbon_id);//删除功能区工具栏
31 DEMP_tbr_id = NULL;
32 ribbon_id = NULL;
33 }
34
35
36 UF_terminate();
37
38 Caesar卢尚宇
39 2019年7月15日
把编译出来的DLL放到D:\Program Files\Siemens\NX 9.0\LSYTOOLS\Application里,名字改为LSYTOOLS.dll
打开UG
NX二次开发-创建功能区工具栏UF_UI_create_ribbon的更多相关文章
- NX二次开发-删除功能区工具栏UF_UI_remove_ribbon
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-设置功能区工具栏的可见性UF_UI_set_ribbon_vis
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-创建经典工具栏UF_UI_create_toolbar
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-删除经典工具栏UF_UI_remove_toolbar
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-设置经典工具栏的可见性UF_UI_set_toolbar_vis
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-创建(临时)坐标系
函数:UF_CSYS_create_csys() . UF_CSYS_create_temp_csys() 函数说明:创建坐标系 .创建临时坐标系 用法: #include <uf.h> ...
- NX二次开发-创建NX9 NXOpenCPP Wizard开发向导模板
这篇文章,我在CSDN,在唐工论坛都发过.http://www.nxopen.cn/forum.php?mod=viewthread&tid=2039&highlight=NX9 博客 ...
- NX二次开发-创建一个3 x 3矩阵UF_CSYS_create_matrix
1 NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initializ ...
- NX二次开发-创建CSYS坐标系UF_CSYS_create_csys
NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initialize( ...
随机推荐
- vmware下搭建openwrt
最近闲来无事,想研究下openwrt, 所以尝试着自己搭建一个来玩玩, 当然这里不是以源码编译的形式,那样太耗时. 首先官网下载已有的系统image, 路径如下 : https://archive. ...
- xlwings结合dataframe数据的写入
一.代码 import xlwings as xw import pandas as pd xl_path=r'***' df_path=r'***' df=pd.read_excel(df_path ...
- leyou_04_使用vue.js搭建页面—使用ajax完成品牌的查询
1.使用vue.js搭建页面 1.1使用的模板插件Vuetify 中文UI组件官网:https://vuetifyjs.com/zh-Hans/getting-started/quick-start ...
- [NOIP模拟测试10]辣鸡(ljh) 题解
首先计算块内贡献,很显然是$(x_2-x_1)*(y_2-y_1)*2$. 然后考虑矩形之间的贡献,sort一遍分类讨论$n^2$暴力即可. 注意考虑边界情况是否能多两个,以及角对角的情况. 另外,排 ...
- idea 中使用dataBase插件
最近一段时间重新开始学习Java 使用IntelliJ 发现有个链接数据库插件挺好用的,并且反应速度还挺快的记录下. 点击步骤:View → Tool Windows → data 进行数据库链接 发 ...
- PHP面试 PHP基础知识 三(运算符)
PHP运算符 PHP的运算符的错误控制符@ PHP支持一个错误运算符:@.当将其放在一个PHP表达式之前,该表达式可能产生的任何错误信息都将会被忽略掉. PHP运算符 运算符的优先级 着重记忆运算符 ...
- Dubbo入门到精通学习笔记(四):持续集成管理平台之Maven私有库和本地库的安装与配置
文章目录 介绍 Maven私有库和本地库的安装与配置 Nexus安装 Nexus 配置(登录后) 介绍 如果构建的Maven项目本地仓库没有对应的依赖包,那么就会去Nexus私服去下载, 那么如果Ne ...
- jquery中的ajax方法参数的用法和他的含义
jquery中的ajax方法参数的用法和他的含义: 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(pos ...
- NIO 源码分析(01) NIO 最简用法
目录 一.服务端 二.客户端 NIO 源码分析(01) NIO 最简用法 Netty 系列目录(https://www.cnblogs.com/binarylei/p/10117436.html) J ...
- MySql 主从复制及深入了解
分享一个不错的mysql文章 https://segmentfault.com/a/1190000008942618