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_ribbon_vis的更多相关文章

  1. NX二次开发-设置经典工具栏的可见性UF_UI_set_toolbar_vis

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  2. NX二次开发-删除功能区工具栏UF_UI_remove_ribbon

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  3. NX二次开发-创建功能区工具栏UF_UI_create_ribbon

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  4. NX二次开发-删除经典工具栏UF_UI_remove_toolbar

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  5. NX二次开发-创建经典工具栏UF_UI_create_toolbar

    NX9+VS2012 1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men 找到装配和PMI,在中间加上一段 TOGGLE_BUTTON ...

  6. 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 ...

  7. NX二次开发-设置WCS显示UF_CSYS_set_wcs_display

    NX9+VS2012 #include <uf.h> #include <uf_csys.h> UF_initialize(); //设置WCS显示 //1显示WCS, 0不显 ...

  8. NX二次开发-设置尺寸的附加尺寸UF_DRF_set_appended_text

    #include <uf.h> #include <uf_drf.h> #include <uf_obj.h> #include <uf_part.h> ...

  9. NX二次开发-设置对象名称函数UF_OBJ_set_name

    NX9+VS2012 #include <uf.h> #include <uf_modl.h> #include <uf_obj.h> UF_initialize( ...

随机推荐

  1. 6380. 【NOIP2019模拟2019.10.06】小w与最长路(path)

    题目 题目大意 给你一棵树,对于每一条边,求删去这条边之后,再用一条边(自己定)连接两个连通块,形成的树的直径最小是多少. 正解 首先,将这棵树的直径给找出来.显然,如果删去的边不在直径上,那么答案就 ...

  2. spark面试问题收集

    spark面试问题 1.spark中的RDD是什么,有哪些特性 RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可 ...

  3. NOIp2018集训test-10-22 (联考六day2)

    中间值 两个log肯定会被卡.我用的第一种做法,就是要各种特判要在两个序列都要二分比较麻烦. //Achen #include<bits/stdc++.h> #define For(i,a ...

  4. AcWing 142. 前缀统计 字典树打卡

    给定N个字符串S1,S2…SNS1,S2…SN,接下来进行M次询问,每次询问给定一个字符串T,求S1S1-SNSN中有多少个字符串是T的前缀. 输入字符串的总长度不超过106106,仅包含小写字母. ...

  5. python之—flask虚拟环境

    一.安装: 输入以下命令可以检查系统是否安装了virtualenv : $ virtualenv --version 如果结果显示错误,你就需要安装这个工具. 1.Ubuntu 用户可以使用下述命令安 ...

  6. elipse手机设备显示Target unknown或者offline解决方法

    参考资料: http://blog.csdn.net/yuanjingjiang/article/details/11297433 http://www.educity.cn/wenda/153487 ...

  7. 基于V8的JsonMapper

    <dependency> <groupId>com.eclipsesource.j2v8</groupId> <artifactId>j2v8_win3 ...

  8. json类型的相互转化

    package com.test.jsontest; import java.io.File; import java.io.FileInputStream; import java.io.FileN ...

  9. Lung Nodule Detection------work log

    有时候真的不知道自己是怎么走上,模式识别,人工智能的这条路上的.但既然走上了这条路,我就没有理由荒废我所学到的东西.在学校里面研究了很长的时间的肺结节检测,但那都是只限于研究和写论文,现在我想把大家的 ...

  10. docker hub的使用

    讲自己的镜像推送到docker hub 一.将自己的image上标签 docker tag ubuntu:18.04 username/ubuntu:18.04 二.登陆自己的docker hub d ...