NX二次开发-设置经典工具栏的可见性UF_UI_set_toolbar_vis
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_set_toolbar_vis的更多相关文章
- 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_remove_toolbar
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_ribbon
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-创建功能区工具栏UF_UI_create_ribbon
NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...
- NX二次开发-设置WCS位置UF_CSYS_set_wcs
NX9+VS2012 UF_initialize(); //输入X向量Y向量输出一个3*3矩阵 ] = {0.0, 0.0, 1.0}; ] = {0.0, 1.0, 0.0}; ]; UF_MTX3 ...
- NX二次开发-设置WCS显示UF_CSYS_set_wcs_display
NX9+VS2012 #include <uf.h> #include <uf_csys.h> UF_initialize(); //设置WCS显示 //1显示WCS, 0不显 ...
- NX二次开发-设置尺寸的附加尺寸UF_DRF_set_appended_text
#include <uf.h> #include <uf_drf.h> #include <uf_obj.h> #include <uf_part.h> ...
- NX二次开发-设置对象名称函数UF_OBJ_set_name
NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_obj.h> UF_initialize( ...
随机推荐
- Map集合类(二.其他map集合jdk1.8)
java集合笔记一 java集合笔记二 java集合笔记三 1.hashtable(线程安全) 1.存储数据为数组+链表2.存储键值对或获取时通过hash值取模数组长度确定节点在数组中的下标位置 in ...
- 后端异步接口url
/wp-common/products.php?term_id=4&page=1 var currentAjax; var total = 0; function getAjaxData(te ...
- idea关联git后 Git上传项目提示Push rejected: Push to origin/master was rejected解决办法
当所有的东西都配好以后 就是不上数据 解决方案是在所属右键 点击Git BashHere后 输入:git pull origin master –allow-unrelated-historie ...
- access注入篇+sqlmap
access数据库的来历,我就不说了,因为我懒的记,就算记了感觉上也没大多用处,只要记得数据库的结构就行了.先是表名,然后是列名,再者就是数据,我发个实际的图吧,大概就是这么一个结构. 下面,开始说下 ...
- [7.18NOIP模拟测试5]砍树 题解(数论分块)
题面(加密) 又考没学的姿势……不带这么玩的…… 考场上打了个模拟 骗到30分滚粗了 稍加思考(滑稽)可将题面转化为: 求一个最大的$d$,使得 $\sum \limits _{i=1}^n {(\l ...
- Java线程池ThreadPoolExecutor使用和分析
线程池是可以控制线程创建.释放,并通过某种策略尝试复用线程去执行任务的一种管理框架,从而实现线程资源与任务之间的一种平衡. 以下分析基于 JDK1.7 转自: http://www.cnblogs. ...
- mac 安装 pymssql 报错
报错信息 _mssql.c:346:10: fatal error: 'sqlfront.h' file not found #include "sqlfront.h" ^~~~~ ...
- Jeecg集成Swagger-ui
<context:component-scan base-package="springfox"/> <bean class="org.jeecgfra ...
- MySQL之explain命令解释
explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了.如: explai ...
- 用node-http-proxy搭建代理
程序员三大必备网站是:Google.Github.StackOverflow.如果你还在用Baidu搜索技术文章的话,我想说的是,少年你已经被鄙视很多年了,赶紧换成谷歌吧,不要再被鄙视了!Github ...