-- AutoCAD中菜单文件的灵活使用,是每个熟练操作者应该掌握的技巧。在菜单文件的使用中往往也容易出现一些问题,下文就是在对这些常见问题进行归纳总结后的集中解答,希望借助于这些文字,使初学者对如何用好菜单文件有一个全面的了解。
8 b2 N: M0 U8 @8 ]; ]7 m, O! S7 _---- 一、 菜单文件是如何运作的? 6 z$ d5 E! ~3 ^5 c# t+ }9 l I
---- 如图1所示(略),AutoCAD系统的基础菜单文件放在AutoCAD安装目录下的\SUPPORT子目录中,共有五个文件。无论是AutoCAD系统的基础菜单,还是附加(局部)菜单或是用户自已定制的菜单,都是由.mnu/.mnc/.mns/.mnr/.mnl这五个文件组成。这五个文件组成了一个菜单的整体,但也并不是每一个菜单都包括全部的这五个文件。五个文件在菜单中起着各自的作用,但其作用是有主次之分的,其生成过程有也主从之分。要使用好菜单,必须明白这五个文件相互之间的关系和在菜单的调用过程中各自所起的作用。.mnu是模板菜单文件,除了.mnl文件外,其余三个文件最初都源出自于它。AutoCAD调用时自动对它进行编译,产生对应的.mnc和.mnr文件以及.mns文件。.mnc是.mnu文件编译后的版本,实际上.mnc文件是AutoCAD真正直接执行的菜单文件。.mnr也是在.mnu文件编译时产生,它存放着菜单所使用的位图之类的菜单资源。最初的.mns文件也是.mnu文件被编译时由AutoCAD自动产生的,它的基本内容和.mnu文件类似,只是少了有关的说明和注释行。在.mnu文件被编译时,.mns文件和.mnc文件的菜单内容是一致的,但如果在AutoCAD的操作中,用户对菜单的作了更改,这些改动都记录在.mns文件中,所以.mns文件对应的是AutoCAD系统中当前菜单的内容。.mnl文件在内容上相对独立一些,它包含由菜单所使用的AutoLISP表达式,如各种命令简化指令的定义,还有层排序、指定层这样的LISP程序。当加载一个菜单文件时,如果系统中存在与菜单文件同名的.mnl文件,则这个.mnl文件也会被加载。 5 g* [! O+ z+ } }
---- 二、 何时用menu,何时用menuload加载菜单? 4 k# t8 G2 D; h" a+ I4 @
---- AutoCAD加载菜单有两个命令:menu和menuload。何时使用menu,何时使用nenuload?首先必须明白AutoCAD菜单是有等级之分的,分为基础菜单和局部(或称附加)菜单。 . k6 K5 X$ z/ y
---- 顾名思义,基础菜单是AutoCAD使用是菜单的基础,在AutoCAD中同时只能使用一个菜单文件作为基础菜单,acad.mnu是安装时缺省的基础菜单。menu命令专用于更换或重新加载一个基础菜单,AutoCAD启动时缺省的基础菜单是上一次通过menu命令调入的菜单。
5 ?' n6 J- Z& ]! D---- 局部菜单和基础菜单在文件体系上没有区别。在基础菜单之上,可以在下拉菜单中附加上额外的菜单项,这种可附加的菜单就可称作为局部菜单。局部菜单使用menuload命令加载。Menuload命令从下拉菜单中也可以调用,方法是:“Tools menu(工具)”→“Customize Menus(定制菜单)”。用menuload可以同时加载多个菜单文件。 - i2 Z+ l j0 B& U! ~2 T6 _
---- 对于现有的下拉菜单项,都可以在进入“Menu Customization(菜单定制)”界面后,选“Menu Bar(菜单条)”来进行“Remove(移除)”或“Insert(插入)”。
$ U$ p; Y& v% L/ }---- Menuload加载的局部菜单可以用menuunload命令将其卸载。而用menu命令加载的基础菜单只能由下一个menu命令加载来替换。 0 z% Y5 p z) [# P
---- 三、 如何使对于菜单的改动得以固定和保存 7 |7 V8 r& M+ l7 J
---- 菜单定制,特别是工具条定制是比较容易的,但很多人定制工具条后就会有一个问题:怎样将这些改动保存下来,以便再次安装AutoCAD时使用?要解决这个问题,首先要清楚AutoCAD菜单的加载过程。 $ y6 r" Z# B# R, y R/ E
---- AutoCAD加载菜单缺省的过程是这样的:菜单命令发出后,AutoCAD首先加载指定菜单名的.mnc文件;如果.mnc不存在,则寻找同名的.mns文件,将其编译成.mnc文件并完成加载;如果同名的.mnc和.mns文件都不存在,则寻找.mnu文件并完成编译和加载。根据菜单加载的过程可以采取如下措施:
* V8 x7 W% R t5 x T如果对菜单模板文件.mnu进行了修改,并要让改动起作用,就必须在启动AutoCAD系统前将.mns和.mnc文件删除,或是重新加载.mnu模板菜单文件。加载.mnu文件应注意的是:在调入菜单的对话框中将文件类型改为“Menu template(*.mnu)”而不是缺省的“Menu files(*.mnc;*.mns)”,这样才能选择.mnu文件。
* R; M. D2 o) e. W \& k* t如果在AutoCAD中,用AutoCAD的功能对菜单进行了修改,这些变化自动记录在.mns文件中,为了使修改得以固定,在删除.mns文件之前,应将修改的内容移到.mnu文件的相应部位中,并将.mnu文件备份下来。如果这些改动是在基础菜单acad.mnu中,则应在AutoCAD重新安装后,用改动过的acad.mnu去覆盖AutoCAD原始的acad.mnu,并删除掉已存在的acad.mnc和acad.mns文件。
k% W5 H7 S6 y) q1 G如果在AutoCAD启动后对菜单进行了修改,想要取消这些修改,恢复启动前的菜单状态,可以用menu命令,调入acad.mnu菜单模板文件。 ---- 四、 如何对AutoCAD菜单进行汉化
/ S4 d8 a) ` O5 G( }---- 在AutoCAD中有两个比较重要的菜单,acad.mnu和ac_bonus.mnu(在AutoCAD 2000中bouns的功能已合成到主菜单中)。acad.mnu是缺省的基础菜单,放在AutoCAD安装目录下的\SUPPORT子目录中;ac_bonus.mnu是典型的附加菜单,放在AutoCAD安装目录下的\BONUS\CADTOOLS子目录中。对AutoCAD R14菜单的汉化主要是对这两个菜单进行汉化,在AutoCAD 2000中仅需对acad.mnu进行汉化。如果准备对AutoCAD的菜单系统进行汉化或其它改动,最好在安装AutoCAD系统后,就立即把这两个文件备份下来,以在必要时恢复原始的菜单状态。 M2 K3 i4 i- n4 J. s/ ]
---- 常用的菜单汉化方法有三种:
9 v9 c8 ~# d; Z3 G---- 1.利用四通利方、中文之星或东方快车这样的动态翻译软件显示汉字菜单。不过由于AutoCAD菜单术语高度的专业化,这些汉化软件翻译的结果往往会不知所云。
) G( l; q/ W* @( ~' h9 F---- 2.自己动手汉化。看一看下面的两段文字,就明白对AutoCAD菜单永久性汉化原本是一件比较容易的事,实质上只是“翻译单词和术语”而已。此外,自己动手汉化的目的显然是翻译给别人用的。还有就是工作量问题,acad.mnu的文本长度多达100K,总的词汇量是可想而知的,不过对于Windows版的AutoCAD来说,常用到的菜单节仅有三个部分:一、下拉菜单节,标示为***POPn;二、工具条定义节,标志为 ***TOOLBARS;三、状态栏提示信息节,标志为***HELPSTRINGS。对于acad.mnu中占大部分篇幅的其它节,完全可以不进行汉化。欲详细了解菜单文件的结构,请参考AutoCAD帮助中的菜单定制一节。 . }, l. y/ W+ F1 w& W
---- 第一段:菜单ac_bonus.mnu原文(片断) 6 e9 t0 X' {* |
***POP1[&Bonus]ID_MNBnsLayr [- >&Layers]ID_BnsLayman [&Layer Manager...]^C^Clman …… ……***TOOLBARS**TB_BONUS_LAYER_TOOLSID_TbBnsLaye [_Toolbar("Bonus LayerTools", _Floating, _Show, 197, 172, 1)]…… ……***HELPSTRINGSID_BNSNCOPY [Copies entities nestedinside blocks and xrefs: NCOPY] |