[案例二] 菜单条制作(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_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
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白雪公主的后妈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值