许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  UG NX二次开发:菜单工具条的制作方法

UG NX二次开发:菜单工具条的制作方法

阅读数 2
点赞 0
article_banner

1. 基础知识

  • 菜单利用MenuScript脚本语言进行编辑
  • 菜单脚本文件的扩展名为:*.men(文本文件)
  • MenuScript还可以定制工具条,其脚本文件扩展名为:*.tbr(文本文件)
  • 还有另外一种是Ribbonbar
  • 自定义UG菜单的两种方法
Add-on菜单文件 对于与具体应用模式无关的菜单文件只需将其放置在startup 文件夹下; 与具体应用模式(如装配应用模式)相关的菜单文件放置在相应的application 文件夹下; 通过使用MENU_FILES 声明,即可将菜单名与应用模式按钮相关联; 在点击该应用模式按钮后即可自动加载与其关联的菜单文件。 复制和编辑系统菜单文件,放在某特定文件加下,覆盖原来的。 复制和编辑系统菜单文件方法不推荐使用,这主要是由于其编辑起来相当复杂,特别 是对于像ug_main.men 这样的大型菜单文件。
  • 将startup和application所在文件夹的路径注册到custom_dirs.dat 文件中,启动UG 可以看到定制的下拉菜单
Example: https://www.gofarlic.com\Workspace\NX_SD\OPEN 该文件一般路径为:https://www.gofarlic.com\Program Files\Siemens\NX 11.0\UGII\menus\custom_dirs.dat

#####2. 定制菜单栏和工具栏一般步骤 2

  • 新建一个文件夹,在里面新建startup文件夹和application文件夹
  • 找到custom_dirs.dat文件,填入存放
  • 在startup下,新建一个文本文件,重命名,扩展名.men。在application下,放入二次开发生成的.dll文件。
  • UG NX起动时将搜索.men文件,并根据它来添加菜单;
  • 其中VERSION是版本,BEFORE UG_HELP是指菜单在HELP之前,CASCADE_BUTTON是给主菜单起的一个名字,LABEL是菜单的显示名称,MENU与CASCADE_BUTTON相呼应,BUTTON是给子菜单起的一个名字,ACTIONS指定了这个菜单将执行application文件夹下的哪个程序!
VERSION 10
EDIT UG_GATEWAY_MAIN_MENUBAR
BEFORE UG_HELP
    CASCADE_BUTTON MY_MENU
    LABEL 我的菜单 END_OF_BEFORE  
MENU MY_MENU
    ! 子菜单1
    BUTTON MENU_HELLO_WORLD
    LABEL HELLO WORLD!
    ACTIONS helloworld.dll
END_OF_MENU
  • 起动UG NX,可以看到菜单栏中出现了自定义菜单,单击菜单,指定的程序将被执行。
  • 自定义工具栏的制作与此类似,只不过是在startup文件夹下建立文件的扩展名是.tbr,文件内容也不同。(BUTTON是给按钮起一个名字,LABEL是鼠标放上去的显示名称,BITMAP是按钮的图案,ACTION指定了这个菜单将执行哪个程序,注意必须是绝对路径!)
TITLE MY_TOOLBAR
VERSION 160            
DOCK TOP
BUTTON MY_BUTTON
LABEL HelloWorld
BITMAP mybitmap.bmp
ACTION https://www.gofarlic.com\TEST\startup\helloworld.dll

#####3. Ribbon菜单的定制3 4

  • 从NX9开始NX的界面使用了微软目前最新的对话框布局格式,Ribbon界面,除了本身的Ribbon的功能外,NX也额外的增强了Ribbon界面的功能。目前可以进行定义的菜单种类包括groups, galleries, drop-down ,对应的文件后缀如下:

        |Extension|UI object|

        |—|---|

        |.tbr|Toolbar|

        |.grb|Group|

        |.gly|Gallery|

        |.ddb|Drop-down|

        |.rtb|Ribbon tab|

        |.csb|Cascade|

        |.abr|Attachment|
  • RIBBON菜单的加载Ribbon界面的客户化文件和我们的菜单或者工具条.men,.trb文件一样,你可以放置在application目录,startup目录或者application\profiles目录下。具体的区别如下:
Startup目录:这个文件夹下面的内容,是NX启动后,立即显示的类型,也就是说你的菜单会在NX启动后,立即全部展现出来。 Application目录:和startup区别在于,只有在特定的模块下,才会显示,通常可以通过定义men文件或者通过API函数UF_UI_create_toolbar, UF_UI_create_ribbon进行定义。 application\profiles目录:可以参考NX目录下UGII\menus\profiles目录下的定义 对应的模块目录文件夹下:这种情况,根据你当前的模块去自动加载和卸载 ALL:和startup类似,全部加载 reference:在模块下的特殊子模块下加载,需要在.dtx文件里面定义 另外,还有更简单的方法来控制RIBBON界面在不同的模块显示情况,那就是角色文件mtx,大家可以参考PLM之家NX工具包的V1.1.0版本,在这里startup目录下面有mtx格式的文件,这种文件就是,大家可以把所有的ribbon文件全部放置在startup目录下,启动nx后,在ctrl+1编辑菜单的模式下,在不同的模块下自己去取消掉不需要的菜单,比如PLM之家NX插件下面的创建程序组功能,这个功能只能在加工环境下使用,因此,我们可以把这个工具条在制图,建模下面移除掉,更改完成后,将mtx文件保存下来,放在startup目录下,这样NX加载的时候会自动的去根据mtx来加载菜单!
  • 关于Ribbon界面上关键字的定义

        a. RIBBON_STYLE关键字: 默认情况下是大图标LARGE_IMAGE
ALWAYS_EXTRA_LARGE_IMAGE_WITHOUT_TEXT
EXTRA_LARGE_IMAGE_WITHOUT_TEXT
ALWAYS_LARGE_IMAGE_WITHOUT_TEXT
LARGE_IMAGE_WITHOUT_TEXT
ALWAYS_LARGE_IMAGE
LARGE_IMAGE
ALWAYS_MEDIUM_IMAGE_AND_TEXT
MEDIUM_IMAGE_AND_TEXT
MEDIUM_IMAGE
ALWAYS_SMALL_IMAGE_AND_TEXT
SMALL_IMAGE_AND_TEXT
SMALL_IMAGE

图片1

   b. Group关键字的定义:

关键字是Group。
创建新的Group,使用BEGIN_GROUP,END_GROUP.
GROUP_STYLE 可以用DEFAULT和FLOWLAYOUT。

图片2


4. Create a customized toolbar with a TBR file5

  • Create a .tbr file for the new toolbar.
  • You can copy an existing .tbr file, such as the ug_standard.tbr file (in the UGII_BASE_DIR/UGII/menus directory), and modify the copied file to suit your needs.
  • Complete the header definition section.
  • Complete the contents of toolbar section.
  • (Optional) Specify bitmaps for one or more toolbar buttons.
  • (Optional) Add menus to the toolbar.
  • (Optional) Create custom buttons to show and hide toolbar sets.
  • Load the toolbar at startup or during an NX session.

        #####5. Tips
  • 可以现在.men文件中定义BUTTON的相关属性,然后再在.tbr.rtb等文件里面指定预定义过的BUTTON按钮,然后自动加载;
  • The platform must be in all upper case letters as shown;
  • 可以在官方帮助文档找到很详细的菜单定制文档;

  1. https://docs.plm.automation.siemens.com/tdoc/nx/11/nx_api/#uid:index_menuscript ↩︎
  2. https://jingyan.baidu.com/article/c843ea0bb5f33977931e4a00.html ↩︎
  3. http://www.plmhome.com/article-80-1.html ↩︎
  4. http://www.plmhome.com/article-81-1.html ↩︎
  5. https://docs.plm.automation.siemens.com/tdoc/nx/11/nx_api#uid:index_menuscript:customize_toolbar_tbr:ui_customize_uic_tb_create_ht ↩︎


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空