当前位置: 首页 > java >正文

[案例二] 菜单条制作(Menuscript)与工具条制作(Toolbar)

       最近五一正好毕业论文盲审,抽时间研究一下菜单条制作(Menuscript)与工具条制作(Toolbar)的制作,在NX二次开发中唐康林老师已经讲的很详细了,在这里只对视频中的内容进行总结,并且根据自己的想法进行补充。在里海博主的直播教学中发现一个很有趣的NX图标工具,本人大概做了一下,虽然不是完美但是可以实现大概的功能。再次感谢各位NX二次开发的大佬,让后辈站在巨人的肩膀上进行更好的探索。


一、菜单文本的概述

二、菜单脚本的创建与挂载菜单

2.1菜单脚本的创建

2.2挂载菜单

2.2.1环境变量的设置

2.2.2设置显示模块

三、菜单开关按钮、快捷键和动态提示语言的创建

四、经典版本下工具条的制作

五、Ribbon版本下工具条的制作

5.1设置显示模块

5.2Ribbon界面风格

5.2.1直接添加按钮

5.2.2调用经典工具条风格(.tbr文件)

 5.2.3调用rbn界面下的tbr(.tbr文件)

5.2.4直接使用组(FLOWLAYOUT)风格

5.2.5直接使用组(DEFAULT)风格

5.2.6使用drop_down风格(.ddb文件)

5.2.7使用cascade风格(.csb文件)

5.2.8使用gallery样式风格(.gly文件)

5.2.9使用gallery样式2,有最近使用风格(.gly文件)

5.2.10使用gallery样式3,NX官方格式风格(.gly文件)

5.2.11使用group样式1风格(.grb文件)

5.2.12使用group样式2风格(.grb文件)

5.2.13使用group样式3风格(.grb文件)

六、自制图标的加载与NX图标显示规则

6.1自制图标的加载

6.2NX图标显示规则

6.3自制一个图标名称查看器


一、菜单文本的概述

        在NX 软件中,官方使用菜单文本对制作的应用程序进行挂载显示,通过点击相应的菜单调用相应的应用程序。大家在开发自己的菜单时可以根据西门子官方菜单或者市场现有的商家的菜单进行参考。一般来说菜单脚本文件所有用户都可以查看,允许用户相互学习,允许用户编辑。用户可以参考NX官方标准菜单脚本文件、GC工具箱单脚本文件或者第三方公司菜单脚本,见下图所示。其中,NX官方标准菜单脚本文件地址为:.......\UGII\menus,主要参考menus文件夹中的.men文件和.tbr文件。GC工具箱中,.......\LOCALIZATION\prc\application中的.men文件和.tbr文件。

二、菜单脚本的创建与挂载菜单

2.1菜单脚本的创建

        为了更加详细的说明这里给出了自己制作菜单的.men文件内容,具体详解见以下代码以及图片内容注解。

代码:

VERSION 120
EDIT UG_GATEWAY_MAIN_MENUBAR
!BEFORE之后,AFTER前
BEFORE UG_HELPCASCADE_BUTTON lwc_tools_mainLABEL 潘多拉魔盒
END_OF_BEFOREMENU lwc_tools_mainBUTTON tkl_tools_button1LABEL 按钮1!BITMAP datumaxisBITMAP caseACTIONS BUTTON tkl_tools_button2LABEL 按钮2BITMAP revolutionACTIONSBUTTON tkl_tools_button3LABEL 按钮3BITMAP blockACTIONS BUTTON tkl_tools_button4LABEL 按钮4BITMAP line_wendptsACTIONSEND_OF_MENU

代码:具有二级子菜单

VERSION 120
EDIT UG_GATEWAY_MAIN_MENUBAR
!BEFORE之后,AFTER前
BEFORE UG_HELPCASCADE_BUTTON lwc_tools_mainLABEL 潘多拉魔盒
END_OF_BEFOREMENU lwc_tools_main!SEPARATORCASCADE_BUTTON NXEXAMPLELABEL NX官方例子解读SEPARATORCASCADE_BUTTON NXTREELABEL NX官方例子树案例CASCADE_BUTTON COMMONTOOLLABEL 常用工具BUTTON tkl_tools_button1LABEL 按钮1!BITMAP datumaxisBITMAP caseACTIONS BUTTON tkl_tools_button2LABEL 按钮2BITMAP revolutionACTIONSBUTTON tkl_tools_button3LABEL 按钮3BITMAP blockACTIONS BUTTON tkl_tools_button4LABEL 按钮4BITMAP line_wendptsACTIONSBUTTON tkl_tools_button5LABEL 两点圆柱工具BITMAP cylinderACTIONS Example_Twopoint_GreatCyl1BUTTON tkl_tools_button6LABEL 彩色球BITMAP sphereACTIONS nxopen_great_color_sphereBUTTON tkl_tools_button7LABEL 体收集器BITMAP select_bodyACTIONS bodyCollector_filterBUTTON tkl_tools_button8LABEL 高级过滤BITMAP mnt_filtering_modeACTIONS set_select_hole。。。。。。END_OF_MENUMENU NXEXAMPLEBUTTON	NXOPEN_Example1LABEL 		NX官方装配导航器案例BITMAP 	appl_assembliesACTIONS 	NXOpen_Example1_AssemblyViewerEND_OF_MENUMENU NXTREEBUTTON	NXOPEN_TREELISTDOMOLABEL 		NX官方树列表案例MESSAGE     NX官方树列表案例提示语ACTIONS 	TreeListDemoTOGGLE_BUTTON	NXOPEN_Example_CHAMFERLABEL 		NX官方解读案例1倒圆角!BITMAP 	blendACCELERATOR      Alt+OVALUE		ON!SENSITIVITY	OFFSENSITIVITY	ONACTIONS!ACTIONS 	NXOpen_Tree1_ChamferTOGGLE_BUTTON	NXOPEN_Example_EDITLABEL 		NX官方解读案例2编辑节点MESSAGE     NX官方解读案例2编辑节点提示语BITMAP 	blendACCELERATOR      Alt+IVALUE		ON!SENSITIVITY	OFFSENSITIVITY	ONACTIONS!ACTIONS 	NXOpen_EditTreeBUTTON	NXOPEN_DRAGANDDROPTREELABEL 		NX树列表拖放ACTIONS 	NXOpen_DragAndDropTreeBUTTON	NXOPEN_USERTREESLABEL 		NX树列表引用封装函数ACTIONS 	NXOpen_UserTreesEND_OF_MENUMENU COMMONTOOLBUTTON	NXOPEN_SETTRANSLUCENCYLABEL 		一键设置透明ACTIONS 	NXOpen_SetTranslucency。。。。。。END_OF_MENU

图片注解:

        挂在帮助之前或者之后,同理也可以挂在视图之前或者之后。可以通过ug_main.men查看视图的ID。根据下图可知,视图为UG_VIEW。

2.2挂载菜单

2.2.1环境变量的设置

        添加系统环境变量UGII_VENDOR_DIR;变量值:${UGII_BASE_DIR}\LWCTOOLS。

2.2.2设置显示模块

        例如,在建模模块、加工模块和制图模块中分别显示。

        在NX目录下,创建一个......\LWCTOOLS\Startup和Application文件夹,在Startup文件夹中创建.men文件,在Application分别创建建模模块、加工模块和制图模块的.men文件,具体详解见以下代码以及图片内容注解。

Application下的建模模块.men

VERSION 120
EDIT UG_GATEWAY_MAIN_MENUBAR
!BEFORE之后,AFTER前
BEFORE UG_HELPCASCADE_BUTTON lwc_tools_mainLABEL 潘多拉魔盒
END_OF_BEFOREMENU lwc_tools_main!SEPARATORCASCADE_BUTTON NXEXAMPLELABEL NX官方例子解读SEPARATORCASCADE_BUTTON NXTREELABEL NX官方例子树案例CASCADE_BUTTON COMMONTOOLLABEL 常用工具BUTTON tkl_tools_button1LABEL 按钮1!BITMAP datumaxisBITMAP caseACTIONS BUTTON tkl_tools_button2LABEL 按钮2BITMAP revolutionACTIONSBUTTON tkl_tools_button3LABEL 按钮3BITMAP blockACTIONS BUTTON tkl_tools_button4LABEL 按钮4BITMAP line_wendptsACTIONSBUTTON tkl_tools_button5LABEL 两点圆柱工具BITMAP cylinderACTIONS Example_Twopoint_GreatCyl1BUTTON tkl_tools_button6LABEL 彩色球BITMAP sphereACTIONS nxopen_great_color_sphereBUTTON tkl_tools_button7LABEL 体收集器BITMAP select_bodyACTIONS bodyCollector_filterBUTTON tkl_tools_button8LABEL 高级过滤BITMAP mnt_filtering_modeACTIONS set_select_hole。。。。。。END_OF_MENUMENU NXEXAMPLEBUTTON	NXOPEN_Example1LABEL 		NX官方装配导航器案例BITMAP 	appl_assembliesACTIONS 	NXOpen_Example1_AssemblyViewerEND_OF_MENUMENU NXTREEBUTTON	NXOPEN_TREELISTDOMOLABEL 		NX官方树列表案例MESSAGE     NX官方树列表案例提示语ACTIONS 	TreeListDemoTOGGLE_BUTTON	NXOPEN_Example_CHAMFERLABEL 		NX官方解读案例1倒圆角!BITMAP 	blendACCELERATOR      Alt+OVALUE		ON!SENSITIVITY	OFFSENSITIVITY	ONACTIONS!ACTIONS 	NXOpen_Tree1_ChamferTOGGLE_BUTTON	NXOPEN_Example_EDITLABEL 		NX官方解读案例2编辑节点MESSAGE     NX官方解读案例2编辑节点提示语BITMAP 	blendACCELERATOR      Alt+IVALUE		ON!SENSITIVITY	OFFSENSITIVITY	ONACTIONS!ACTIONS 	NXOpen_EditTreeBUTTON	NXOPEN_DRAGANDDROPTREELABEL 		NX树列表拖放ACTIONS 	NXOpen_DragAndDropTreeBUTTON	NXOPEN_USERTREESLABEL 		NX树列表引用封装函数ACTIONS 	NXOpen_UserTreesEND_OF_MENUMENU COMMONTOOLBUTTON	NXOPEN_SETTRANSLUCENCYLABEL 		一键设置透明ACTIONS 	NXOpen_SetTranslucency。。。。。。END_OF_MENU

Application下的加工模块.men

VERSION 121
EDIT UG_GATEWAY_MAIN_MENUBARAFTER UG_HELPCASCADE_BUTTON TKL_TOOLS_MENLABEL 潘多拉魔盒CAM
END_OF_AFTERMENU TKL_TOOLS_MENBUTTON	CAM_ONTLABEL 		加工导航器BITMAP 	machining_operationACTIONS 	CAM_UI_ONTBUTTON	CAM_PROGRAMLABEL 		创建程序组BITMAP 	cam_new_programACTIONS 	CAM_create_programBUTTON	CAM_DELETELABEL 		删除CAM对象BITMAP 	deleteACTIONS 	CAM_delete_objectBUTTON	CAM_NCMTHDLABEL 		创建加工方法BITMAP 	cam_new_methodACTIONS 	CAM_create_NCMTHDBUTTON	CAM_NCGEOM
http://www.xdnf.cn/news/3686.html

相关文章:

  • Python基础语法
  • 【Arthas】火焰图优化应用CPU(问题原因:获取调用栈)
  • C语言字符函数和字符串函数详解:从基础到实战
  • C语言奇幻指南:宏、头文件与变量的秘密世界
  • 二、机器学习中Python变量基础
  • 防范反序列化攻击:如何安全处理敏感数据序列化
  • 【C/C++】MQTT
  • Git从入门到精通-第三章-获取Git仓库
  • 【Agent搭建】利用coze平台搭建一个AI销售?
  • Spring MVC @RequestBody 注解怎么用?接收什么格式的数据?
  • 重载和覆写有什么区别?
  • 18、状态库:中央魔法仓库——React 19 Zustand集成
  • STM32基础教程——软件I2C
  • 力扣-字符串-165 比较版本号
  • 【算法基础】递归算法 - JAVA
  • C++ STL vector容器详解:从原理到实践
  • Python绘制地球的重力地图
  • <servlet-class>和</url-pattern>的作用
  • Oracle VirtualBox 在 Windows 上的详细安装步骤
  • AnimateCC教学:照片旋转飞舞并爆炸....
  • NV189NV195美光固态闪存NV197NV199
  • 什么是“原子变量”?
  • 【vscode】.dart文件没有错误波浪线
  • Dubbo(93)如何在电商系统中应用Dubbo?
  • Power Query精通指南4:M语言(查询结构与值系统)、查询优化、自动刷新
  • rails 8 CSS不起效问题解决
  • 异步数据库事务锁:电商库存扣减的防超卖秘籍
  • 【Linux系统篇】:Linux线程控制基础---线程的创建,等待与终止
  • Tesla的战略变化策略(2010~2024)以及给中国汽车厂家的启发
  • Deformable DETR模型解读(附源码+论文)