最近五一正好毕业论文盲审,抽时间研究一下菜单条制作(Menuscript)与工具条制作(Toolbar)的制作,在NX二次开发中唐康林老师已经讲的很详细了,在这里只对视频中的内容进行总结,并且根据自己的想法进行补充。在里海博主的直播教学中发现一个很有趣的NX图标工具,本人大概做了一下,虽然不是完美但是可以实现大概的功能。再次感谢各位NX二次开发的大佬,让后辈站在巨人的肩膀上进行更好的探索。
5.2.9使用gallery样式2,有最近使用风格(.gly文件)
5.2.10使用gallery样式3,NX官方格式风格(.gly文件)
一、菜单文本的概述
在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_HELP
CASCADE_BUTTON lwc_tools_main
LABEL 潘多拉魔盒
END_OF_BEFORE
MENU lwc_tools_main
BUTTON tkl_tools_button1
LABEL 按钮1
!BITMAP datumaxis
BITMAP case
ACTIONS
BUTTON tkl_tools_button2
LABEL 按钮2
BITMAP revolution
ACTIONS
BUTTON tkl_tools_button3
LABEL 按钮3
BITMAP block
ACTIONS
BUTTON tkl_tools_button4
LABEL 按钮4
BITMAP line_wendpts
ACTIONS
END_OF_MENU
代码:具有二级子菜单
VERSION 120
EDIT UG_GATEWAY_MAIN_MENUBAR
!BEFORE之后,AFTER前
BEFORE UG_HELP
CASCADE_BUTTON lwc_tools_main
LABEL 潘多拉魔盒
END_OF_BEFORE
MENU lwc_tools_main
!SEPARATOR
CASCADE_BUTTON NXEXAMPLE
LABEL NX官方例子解读
SEPARATOR
CASCADE_BUTTON NXTREE
LABEL NX官方例子树案例
CASCADE_BUTTON COMMONTOOL
LABEL 常用工具
BUTTON tkl_tools_button1
LABEL 按钮1
!BITMAP datumaxis
BITMAP case
ACTIONS
BUTTON tkl_tools_button2
LABEL 按钮2
BITMAP revolution
ACTIONS
BUTTON tkl_tools_button3
LABEL 按钮3
BITMAP block
ACTIONS
BUTTON tkl_tools_button4
LABEL 按钮4
BITMAP line_wendpts
ACTIONS
BUTTON tkl_tools_button5
LABEL 两点圆柱工具
BITMAP cylinder
ACTIONS Example_Twopoint_GreatCyl1
BUTTON tkl_tools_button6
LABEL 彩色球
BITMAP sphere
ACTIONS nxopen_great_color_sphere
BUTTON tkl_tools_button7
LABEL 体收集器
BITMAP select_body
ACTIONS bodyCollector_filter
BUTTON tkl_tools_button8
LABEL 高级过滤
BITMAP mnt_filtering_mode
ACTIONS set_select_hole
。。。。。。
END_OF_MENU
MENU NXEXAMPLE
BUTTON NXOPEN_Example1
LABEL NX官方装配导航器案例
BITMAP appl_assemblies
ACTIONS NXOpen_Example1_AssemblyViewer
END_OF_MENU
MENU NXTREE
BUTTON NXOPEN_TREELISTDOMO
LABEL NX官方树列表案例
MESSAGE NX官方树列表案例提示语
ACTIONS TreeListDemo
TOGGLE_BUTTON NXOPEN_Example_CHAMFER
LABEL NX官方解读案例1倒圆角
!BITMAP blend
ACCELERATOR Alt+O
VALUE ON
!SENSITIVITY OFF
SENSITIVITY ON
ACTIONS
!ACTIONS NXOpen_Tree1_Chamfer
TOGGLE_BUTTON NXOPEN_Example_EDIT
LABEL NX官方解读案例2编辑节点
MESSAGE NX官方解读案例2编辑节点提示语
BITMAP blend
ACCELERATOR Alt+I
VALUE ON
!SENSITIVITY OFF
SENSITIVITY ON
ACTIONS
!ACTIONS NXOpen_EditTree
BUTTON NXOPEN_DRAGANDDROPTREE
LABEL NX树列表拖放
ACTIONS NXOpen_DragAndDropTree
BUTTON NXOPEN_USERTREES
LABEL NX树列表引用封装函数
ACTIONS NXOpen_UserTrees
END_OF_MENU
MENU COMMONTOOL
BUTTON NXOPEN_SETTRANSLUCENCY
LABEL 一键设置透明
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_HELP
CASCADE_BUTTON lwc_tools_main
LABEL 潘多拉魔盒
END_OF_BEFORE
MENU lwc_tools_main
!SEPARATOR
CASCADE_BUTTON NXEXAMPLE
LABEL NX官方例子解读
SEPARATOR
CASCADE_BUTTON NXTREE
LABEL NX官方例子树案例
CASCADE_BUTTON COMMONTOOL
LABEL 常用工具
BUTTON tkl_tools_button1
LABEL 按钮1
!BITMAP datumaxis
BITMAP case
ACTIONS
BUTTON tkl_tools_button2
LABEL 按钮2
BITMAP revolution
ACTIONS
BUTTON tkl_tools_button3
LABEL 按钮3
BITMAP block
ACTIONS
BUTTON tkl_tools_button4
LABEL 按钮4
BITMAP line_wendpts
ACTIONS
BUTTON tkl_tools_button5
LABEL 两点圆柱工具
BITMAP cylinder
ACTIONS Example_Twopoint_GreatCyl1
BUTTON tkl_tools_button6
LABEL 彩色球
BITMAP sphere
ACTIONS nxopen_great_color_sphere
BUTTON tkl_tools_button7
LABEL 体收集器
BITMAP select_body
ACTIONS bodyCollector_filter
BUTTON tkl_tools_button8
LABEL 高级过滤
BITMAP mnt_filtering_mode
ACTIONS set_select_hole
。。。。。。
END_OF_MENU
MENU NXEXAMPLE
BUTTON NXOPEN_Example1
LABEL NX官方装配导航器案例
BITMAP appl_assemblies
ACTIONS NXOpen_Example1_AssemblyViewer
END_OF_MENU
MENU NXTREE
BUTTON NXOPEN_TREELISTDOMO
LABEL NX官方树列表案例
MESSAGE NX官方树列表案例提示语
ACTIONS TreeListDemo
TOGGLE_BUTTON NXOPEN_Example_CHAMFER
LABEL NX官方解读案例1倒圆角
!BITMAP blend
ACCELERATOR Alt+O
VALUE ON
!SENSITIVITY OFF
SENSITIVITY ON
ACTIONS
!ACTIONS NXOpen_Tree1_Chamfer
TOGGLE_BUTTON NXOPEN_Example_EDIT
LABEL NX官方解读案例2编辑节点
MESSAGE NX官方解读案例2编辑节点提示语
BITMAP blend
ACCELERATOR Alt+I
VALUE ON
!SENSITIVITY OFF
SENSITIVITY ON
ACTIONS
!ACTIONS NXOpen_EditTree
BUTTON NXOPEN_DRAGANDDROPTREE
LABEL NX树列表拖放
ACTIONS NXOpen_DragAndDropTree
BUTTON NXOPEN_USERTREES
LABEL NX树列表引用封装函数
ACTIONS NXOpen_UserTrees
END_OF_MENU
MENU COMMONTOOL
BUTTON NXOPEN_SETTRANSLUCENCY
LABEL 一键设置透明
ACTIONS NXOpen_SetTranslucency
。。。。。。
END_OF_MENU
Application下的加工模块.men
VERSION 121
EDIT UG_GATEWAY_MAIN_MENUBAR
AFTER UG_HELP
CASCADE_BUTTON TKL_TOOLS_MEN
LABEL 潘多拉魔盒CAM
END_OF_AFTER
MENU TKL_TOOLS_MEN
BUTTON CAM_ONT
LABEL 加工导航器
BITMAP machining_operation
ACTIONS CAM_UI_ONT
BUTTON CAM_PROGRAM
LABEL 创建程序组
BITMAP cam_new_program
ACTIONS CAM_create_program
BUTTON CAM_DELETE
LABEL 删除CAM对象
BITMAP delete
ACTIONS CAM_delete_object
BUTTON CAM_NCMTHD
LABEL 创建加工方法
BITMAP cam_new_method
ACTIONS CAM_create_NCMTHD
BUTTON CAM_NCGEOM