NX二次开发-创建经典工具栏UF_UI_create_toolbar
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_toolbar的更多相关文章
- 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_ribbon
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_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_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( ...
随机推荐
- Vivado利用IP自带的示例工程和仿真
有时候想查看IP的特性和功能,又不想自己写testbench,Vivado自带的IP示例工程就能派上用场,原来一直不知道怎么打开IP的示例工程 第一步:在原有的工程中新建IP,按照你想要的IP属性,例 ...
- 【LeetCode 8】字符串转换整数 (atoi)
题目链接 [题解] 注意越界的处理就好 简单题 还有.. 正的-2^31不能由2^31取相反数得到,因为正的int最多到2^31-1 [代码] class Solution { public: boo ...
- 【Flutter学习】基本组件之图片组件Image
一,概述 Image(图片组件)是显示图像的组件,一个显示图片的widget,支持图像格式:JPEG,PNG,GIF,动画GIF,WebP,动画WebP,BMP和WBMP. Image组件有多种构造函 ...
- 栈+括号序列+暴力枚举——cf1248D1
这个复杂度首先就想到是n3的复杂度,n2枚举换的位置,求值在花费n复杂度 判断一个序列有多少独立的括号子串时用栈处理一下即可 /* 枚举交换两个括号的位置,然后再对新的序列判一次即可 */ #incl ...
- P1064 金明的预算方案 (分组背包稍稍变形)
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱就行”. ...
- hexo next主题深度优化(一),加入pjax功能。
文章目录 背景: 进入正题 pjax初体验--instantclick 真正的pjax 第一步 第二步 第三步 第四步 专门基于hexo next主题的pjax(将丢失的js效果重现) 将下面讲到的提 ...
- POJ 1329 Circle Through Three Points(三角形外接圆)
题目链接:http://poj.org/problem?id=1329 #include<cstdio> #include<cmath> #include<algorit ...
- 使用uc进行手机页面调试
最近使用uc浏览器的时候发现了,一个有趣的现象,就是uc会处理h5web app为全屏,并屏蔽一些手机上的操作,这样就会使web app更加接近本地应用.所以就研究 了一下uc的手机调试. 1.准备工 ...
- REST Client实际应用记录
请求Content-Type为application/x-www-form-urlencoded 先来看一个完整示例: ############## ### qa问答 @msg="糖尿病患者 ...
- vue 过滤器filter的详解
1.代码运用的地方 <!-- 在双花括号中 --> {{ date | formatDate}} <!-- 在 `v-bind` 中 --> <div v-bind:id ...