NX9+VS2012

1.打开D:\Program Files\Siemens\NX 9.0\UGII\menus\ug_main.men

找到装配和PMI,在中间加上一段

  1. TOGGLE_BUTTON LSYTOOLS
  2. LABEL 自定义工具箱
  3. BITMAP cam_new_tool
  4. 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. 1 VERSION 120
  2. 2 EDIT UG_GATEWAY_MAIN_MENUBAR
  3. 3
  4. 4 AFTER UG_HELP
  5. 5 CASCADE_BUTTON LSYTools
  6. 6 LABEL 自定义工具箱
  7. 7 END_OF_AFTER
  8. 8
  9. 9 MENU LSYTools
  10. 10
  11. 11 BUTTON LSYDrawTools
  12. 12 LABEL 图纸工具
  13. 13 BITMAP border_zones
  14. 14 ACTIONS LSYDrawTools
  15. 15
  16. 16 BUTTON LSYStlPdfTools
  17. 17 LABEL 导出STL PDF工具
  18. 18 BITMAP true_shade
  19. 19 ACTIONS LSYStlPdfTools
  20. 20
  21. 21 BUTTON LSYExcelTools
  22. 22 LABEL 导入EXCEL创建曲线
  23. 23 BITMAP spreadsheet
  24. 24 ACTIONS Test1
  25. 25
  26. 26 BUTTON LSYUpdateDrawViewTools
  27. 27 LABEL 切换到工程图工具
  28. 28 BITMAP appl_drafting
  29. 29 ACTIONS Update_Draw_View
  30. 30
  31. 31 BUTTON LSYWrite_Dim_NameTools
  32. 32 LABEL 工程图改尺寸名字工具
  33. 33 BITMAP edit_text
  34. 34 ACTIONS Write_Dim_Name
  35. 35
  36. 36 BUTTON OpenWenJianJia
  37. 37 LABEL 打开当前part文件夹
  38. 38 BITMAP fileopen
  39. 39 ACTIONS OpenWenJianJia
  40. 40
  41. 41 BUTTON CycleSetExp
  42. 42 LABEL 批量修改表达式
  43. 43 BITMAP equals
  44. 44 ACTIONS CycleSetExp
  45. 45
  46. 46 BUTTON OpenTxtWriteExp
  47. 47 LABEL 记事本编辑if/else表达式
  48. 48 BITMAP rename
  49. 49 ACTIONS OpenTxtWriteExp
  50. 50
  51. 51 BUTTON CreateExpGroup
  52. 52 LABEL 创建表达式组
  53. 53 BITMAP styler_group_box
  54. 54 ACTIONS CreateExpGroup
  55. 55
  56. 56 BUTTON CreateFeatureGroup
  57. 57 LABEL 创建特征组
  58. 58 BITMAP folder_new
  59. 59 ACTIONS CreateFeatureGroup
  60. 60
  61. 61 BUTTON CycleDeleteTuKuang
  62. 62 LABEL 批量删除图框
  63. 63 BITMAP delete
  64. 64 ACTIONS CycleDeleteTuKuang
  65. 65
  66. 66 BUTTON CreateHelp
  67. 67 LABEL 自定义1
  68. 68 BITMAP styler_string
  69. 69 ACTIONS CreateHelp
  70. 70
  71. 71 BUTTON CreateHelpRedBlock
  72. 72 LABEL 自定义2
  73. 73 BITMAP curve_section
  74. 74 ACTIONS CreateHelpRedBlock
  75. 75
  76. 76
  77. 77 END_OF_MENU

在Application里创建LSYTOOLS.rtb功能区工具栏,写入内容如下。

  1. 1 TITLE 自定义工具箱
  2. 2 VERSION 170
  3. 3
  4. 4 BEGIN_GROUP 图纸工具
  5. 5 BUTTON LSYDrawTools
  6. 6 BUTTON LSYUpdateDrawViewTools
  7. 7 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
  8. 8 BUTTON LSYWrite_Dim_NameTools
  9. 9 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
  10. 10 BUTTON CycleDeleteTuKuang
  11. 11 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
  12. 12 END_GROUP
  13. 13
  14. 14
  15. 15 BEGIN_GROUP 表达式工具
  16. 16 BUTTON CycleSetExp
  17. 17 BUTTON CreateExpGroup
  18. 18 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
  19. 19 BUTTON OpenTxtWriteExp
  20. 20 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
  21. 21 END_GROUP
  22. 22
  23. 23 BEGIN_GROUP 帮助图工具
  24. 24 BUTTON CreateHelp
  25. 25 BUTTON CreateHelpRedBlock
  26. 26 END_GROUP
  27. 27
  28. 28 BEGIN_GROUP 建模工具
  29. 29 BUTTON OpenWenJianJia
  30. 30 BUTTON CreateFeatureGroup
  31. 31 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
  32. 32 BUTTON LSYStlPdfTools
  33. 33 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
  34. 34 BUTTON LSYExcelTools
  35. 35 RIBBON_STYLE MEDIUM_IMAGE_AND_TEXT
  36. 36 END_GROUP

在创建LSYTOOLS.tbr经典工具栏,写入内容如下。

  1. 1 TITLE 自定义工具箱
  2. 2 VERSION 170
  3. 3 BUTTON LSYDrawTools
  4. 4 BUTTON LSYStlPdfTools
  5. 5 BUTTON LSYExcelTools
  6. 6 BUTTON LSYUpdateDrawViewTools
  7. 7 BUTTON LSYWrite_Dim_NameTools
  8. 8 BUTTON OpenWenJianJia
  9. 9 BUTTON CycleSetExp
  10. 10 BUTTON OpenTxtWriteExp
  11. 11 BUTTON CreateExpGroup
  12. 12 BUTTON CreateFeatureGroup
  13. 13 BUTTON CycleDeleteTuKuang
  14. 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. 1 #include <uf.h>
  2. 2 #include <uf_ui.h>
  3. 3 #include <uf_mb.h>
  4. 4
  5. 5
  6. 6 UF_initialize();
  7. 7
  8. 8 static UF_UI_toolbar_id_t DEMP_tbr_id = NULL;
  9. 9 static UF_UI_ribbon_id_t ribbon_id = NULL;
  10. 10
  11. 11 int demoToggleBtn_id;
  12. 12 UF_MB_state_t demo_btn_state;
  13. 13 UF_MB_ask_button_id("LSYTOOLS", &demoToggleBtn_id);//获取按钮的ID
  14. 14 UF_MB_ask_toggle_state(demoToggleBtn_id, &demo_btn_state);//获取切换按钮的当前状态
  15. 15 if (UF_MB_ON == demo_btn_state)
  16. 16 {
  17. 17 if (DEMP_tbr_id == NULL)
  18. 18 {
  19. 19 UF_UI_create_toolbar("LSYTOOLS.tbr", 1, &DEMP_tbr_id);//创建经典工具栏
  20. 20 UF_UI_set_toolbar_vis(DEMP_tbr_id, 1);//设置经典工具栏的可见性
  21. 21
  22. 22 UF_UI_create_ribbon("LSYTOOLS.rtb", 1, &ribbon_id);//创建功能区工具栏
  23. 23 UF_UI_set_ribbon_vis(ribbon_id, 1);//设置功能区工具栏的可见性
  24. 24
  25. 25 }
  26. 26 }
  27. 27 else
  28. 28 {
  29. 29 UF_UI_remove_toolbar(DEMP_tbr_id);//删除经典工具栏
  30. 30 UF_UI_remove_ribbon(ribbon_id);//删除功能区工具栏
  31. 31 DEMP_tbr_id = NULL;
  32. 32 ribbon_id = NULL;
  33. 33 }
  34. 34
  35. 35
  36. 36 UF_terminate();
  37. 37
  38. 38 Caesar卢尚宇
  39. 39 2019715

把编译出来的DLL放到D:\Program Files\Siemens\NX 9.0\LSYTOOLS\Application里,名字改为LSYTOOLS.dll

打开UG

NX二次开发-创建经典工具栏UF_UI_create_toolbar的更多相关文章

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

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

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

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

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

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

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

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

  5. NX二次开发-设置功能区工具栏的可见性UF_UI_set_ribbon_vis

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

  6. NX二次开发-创建(临时)坐标系

    函数:UF_CSYS_create_csys() . UF_CSYS_create_temp_csys() 函数说明:创建坐标系 .创建临时坐标系 用法: #include <uf.h> ...

  7. NX二次开发-创建NX9 NXOpenCPP Wizard开发向导模板

    这篇文章,我在CSDN,在唐工论坛都发过.http://www.nxopen.cn/forum.php?mod=viewthread&tid=2039&highlight=NX9 博客 ...

  8. NX二次开发-创建一个3 x 3矩阵UF_CSYS_create_matrix

    1 NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initializ ...

  9. NX二次开发-创建CSYS坐标系UF_CSYS_create_csys

    NX9+VS2012 #include <uf.h> #include <uf_csys.h> #include <uf_mtx.h> UF_initialize( ...

随机推荐

  1. Vivado利用IP自带的示例工程和仿真

    有时候想查看IP的特性和功能,又不想自己写testbench,Vivado自带的IP示例工程就能派上用场,原来一直不知道怎么打开IP的示例工程 第一步:在原有的工程中新建IP,按照你想要的IP属性,例 ...

  2. 【LeetCode 8】字符串转换整数 (atoi)

    题目链接 [题解] 注意越界的处理就好 简单题 还有.. 正的-2^31不能由2^31取相反数得到,因为正的int最多到2^31-1 [代码] class Solution { public: boo ...

  3. 【Flutter学习】基本组件之图片组件Image

    一,概述 Image(图片组件)是显示图像的组件,一个显示图片的widget,支持图像格式:JPEG,PNG,GIF,动画GIF,WebP,动画WebP,BMP和WBMP. Image组件有多种构造函 ...

  4. 栈+括号序列+暴力枚举——cf1248D1

    这个复杂度首先就想到是n3的复杂度,n2枚举换的位置,求值在花费n复杂度 判断一个序列有多少独立的括号子串时用栈处理一下即可 /* 枚举交换两个括号的位置,然后再对新的序列判一次即可 */ #incl ...

  5. P1064 金明的预算方案 (分组背包稍稍变形)

    题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱就行”. ...

  6. hexo next主题深度优化(一),加入pjax功能。

    文章目录 背景: 进入正题 pjax初体验--instantclick 真正的pjax 第一步 第二步 第三步 第四步 专门基于hexo next主题的pjax(将丢失的js效果重现) 将下面讲到的提 ...

  7. POJ 1329 Circle Through Three Points(三角形外接圆)

    题目链接:http://poj.org/problem?id=1329 #include<cstdio> #include<cmath> #include<algorit ...

  8. 使用uc进行手机页面调试

    最近使用uc浏览器的时候发现了,一个有趣的现象,就是uc会处理h5web app为全屏,并屏蔽一些手机上的操作,这样就会使web app更加接近本地应用.所以就研究 了一下uc的手机调试. 1.准备工 ...

  9. REST Client实际应用记录

    请求Content-Type为application/x-www-form-urlencoded 先来看一个完整示例: ############## ### qa问答 @msg="糖尿病患者 ...

  10. vue 过滤器filter的详解

    1.代码运用的地方 <!-- 在双花括号中 --> {{ date | formatDate}} <!-- 在 `v-bind` 中 --> <div v-bind:id ...