简介: AutoCAD是当今最为流行的计算机辅助设计软件,其实,除了我们平时使用的内核命令以外,AutoCAD还提供了许多非常实用的附加工具(bonus tools),它们存放在bonus目录下(R14版),如果用户在自己的AutoCAD下没有发现该目录,可运行Setup程序,在Setup Choices对话框选择“Add”,添加Bonus。另外对某些系统变量的重新设置,也可以让我们工作起来得心应手,达到事半功倍的效果。
关键字:AutoCAD 附加工具 系统变量
AutoCAD是当今最为流行的计算机辅助设计软件,其实,除了我们平时使用的内核命令以外,AutoCAD还提供了许多非常实用的附加工具(bonus tools),它们存放在bonus目录下(R14版),如果用户在自己的AutoCAD下没有发现该目录,可运行Setup程序,在Setup Choices对话框选择“Add”,添加Bonus。另外对某些系统变量的重新设置,也可以让我们工作起来得心应手,达到事半功倍的效果。下面向大家介绍几个较为实用的附加工具和系统变量。
系统变量:访问系统变量一般有两种方法:大多数系统变量可以通过下拉菜单或命令来访问(如:用ddunits命令设置angbase变量);所有系统变量都能通过Autolisp程序或在命令行中直接键入该变量名来访问。下面介绍的几个变量。除特殊说明外,均针对R14版。
Angbase和Angdir:分别控制当前坐标系零度角的方向和角度的旋转方向。地质工作中常用测地坐标,我们可以改变这两个变量的值,使正北方向为零度,坐标按照顺时针方向旋转,符合我们的专业习惯,省去许多中间换算的麻烦。
cursorsize:控制十字叉光标的大小。用过R14以前各版本的用户,或许更习惯于全屏幕十字光标,或需要用全屏幕十字光标来大致对照实体。该变量也正是为满足这这一需要。
dwgcodepage:设置码页(R12版)。许多用户也许正被一个问题困扰:以前用R12版做的图形文件无法在R14版中打开,或者打开后汉字全为乱码。试着在R12版打开该图,改变该变量的值为“iso8859-2”,存盘后再用R14版打开,你会惊喜:一切如前(别忘了:先用Preferences命令将该图所需要的字体文件目录加入到“surport file search path”)!
Mirrtext:控制文字实体镜向后的显示方向。对文本镜向后,在缺省状态下,文字不具可读性,就象我们在镜子中看到的文字一样,是反写的。将该变量的值改为0,文字镜向后仍然保持原书写方向。
Plinetype:确定是否使用优化的轻便多义线。优化多义线将大大减少存储空间;而为了涉及到Pline线码表的原Autolisp程序能依旧运行,有些用户更希望Pline线仍然为原来格式。
explmode:非等比例插入的块能否炸开。在缺省状态下,非等比例插入的块不会响应explode命令,改变explmode的值,可以炸开这种块。
Useri1-Useri5、Userr1-Userr5、Users1-users5:分别为能存放5个整数、5个实数、5个字符窜的共15个系统变量,变量值随图形文件一起保存(笔者认为只有5个整数、5个实数变量的值才能保存)。程序开发人员可能需要保存图形的某些参数以供程序访问,随图形文件一起保存在这些变量中,不失为一种非常安全、有效的方法。
此外,编程人员经常要用到的,例如:当前图形文件名(包括路径)、当前时间、当前图形修改状态等许多数据或状态,都可以通告访问系统变量而获知。详情请查阅有关资料。
附加工具:由Autodesk公司免费提供给用户。附加工具本身是程序(包括.lsp、.arx和.exe),这些程序由ac_bonus.lsp统一组织、装入。在ac_bonus.lsp内部还定义了一些这些程序的公用程序。可以用bonus菜单(菜单文件名为ac_bonus.mnc)、工具条或者人为装入后用命令来启动。这些程序对AtuoCAd内核命令是个非?:玫牟钩洌?也可以将其修改后加入到自己的lisp程序中。这里简要介绍几个实用的程序的功能,具体执行细节按照命令提示或查阅相关资料。
Textmask.lsp:功能:将文本(text或mtext命令生产的均可)背景内的实体屏蔽掉。菜单调用为bonus->text->text mask,命令调用为textmask。在实际作图中,文字常被阴影线等各种实体挡住,难于分辨。运行该命令,选择文字(如果选择集中有别的实体,会被过滤掉),按照命令提示,可以屏蔽掉背景图案。即使以后移动文字,其新的背景同样屏蔽。使用该命令时要注意两点:该命令生成一称为Wipeout的非标准CAD实体,在程序(Textmask.lsp)内部要调用wipout.arx程序,如果wipout.arx文件不存在,该命令不能运行;对于通过定义属性、执行insert命令插入的文本,该命令无能为力,但我们可以用burst配合解决。
burst.lsp功能:炸开属性块,把属性值处理成文本。菜单调用为bonus->text->explode attributes to text,命令调用为burst。该命令与textmask配合,可以屏蔽属性文本的背景。
gatte.lsp:一次性修改属性值。菜单调用为bonus->text->global attribute edit,命令调用为gatte。如果多次插入某一个含属性块,插入时属性值为一个或几个,事后发现这些属性值应为同一个,就可以选定这个块(或键入块名)统一修改属性值为某一个值。
chtext.lsp:全方位的文本编辑器,用以修改选定文本的高度、对齐方式、位置、旋转角度、字形和文字内容。菜单调用为bonus->text->change text,命令调用为cht。该命令对选定的文本可以单独处理,也可以统一处理(如:将所选的全部文本内容均改为同一内容)。如果所选实体包括非文本实体,会自动过滤。
find.lsp:查找并替换。菜单调用为bonus->text->find and replace text,命令调用为find。在选定的文本中,将某一字符或字符串替换成另一字符或字符串。只能处理单行文本实体(不是mtext命令生成的文本)。
extrim.lsp:扩展的裁剪(trim)命令。菜单调用为bonus->modify->cookie cutter trim,命令调用为extrim。有时我们要裁剪掉某一区域(尤其是圆形区域)内或外的图形,用trim命令就很麻烦。用extrim命令,只要你指出哪一边要裁剪掉,就不必再费心了。
mpedit.lsp:多条多义线编辑命令。菜单调用为bonus->modify->mutiple pedit,命令调用为mpedit。pedit命令只能编辑一条多义线,如果我们想一次改变几条多义线的宽度,用mpedit命令就非常方便,该命令除了不具备顶点编辑和连接功能以外,其它pedit所能做到的它都能做到。它还能一次改一组直线(line)线和(或)弧(arc)为多义线。
popup.arx:将下拉式菜单改为弹出式菜单。菜单调用为Bonus->Tools->Popup Menu,命令调用为bonuspopup。用过R14版的人对弹出式菜单(在绘图区按Ctrl+鼠标右键)不会陌生,它方便快捷,更具微软风格。用户也许更喜欢将tools下拉式菜单制成(原下拉菜单仍存在)弹出式菜单,执行bonuspopup命令,按照提示(非常简单!)操作,很容易就做成了。用户也可以把自己开发的程序或常用的一组命令做成一个菜单文件,用menuload命令或菜单tools->customize menus装入这个菜单(怎么做菜单和如何执行menuload命令本处不再赘述),运行用该命令,一个非常富有个性的弹出式菜单就做成了。
Packngo.arx,packngo.hlp:打包送出。菜单调用为Bonus->Tools->Pack 'n Go,命令调用为pack。我们经常遇到这种问题:在一台计算机上编辑的图形文件,用另一台计算机调出后文字变了,这是由于两机上的字库文件不匹配的缘故。用该命令,能把图形文件中用到的包括字库、阴影线、外部引用等支撑数据一次性打包到一个目录下,只要把该目录拷贝到别的机器上,打开后保证与原编辑图形一致。
Sysvdlg.arx:编辑系统变量。菜单调用为Bonus->Tools->System Variable Editor,命令调用为sd。前面我们提到系统变量一般可用两种方法访问,这个附加工具是第三种方法。执行该命令后,系统会弹出系统变量窗体,你可以查询各个系统变量的意义、当前值、改变变量值,也可以把当前所有变量设置存入到一个.svf文件中,或从.svf文件中导入变量设置以覆盖当前变量值。这是一个全面、系统的变量编辑器。
Alias.exe,Alias.hlp:编辑命令别名及外壳可执行命令。菜单调用为Bonus->tools->Command Alias Editor,命令调用为aliasedit。缺省状态下,如果在命令行内键入“e”,系统会执行erase命令,因为系统把“e”定义为命令“erase”的别名。这些对应关系存放于acad.pgp(文本文件)中,用户可以直接修改。用该命令编辑别名,就不必关心acad.pgp文件的格式,按照提示直接修改或添加,以符合自己的习惯。另外,该命令同样可以确定哪些外壳命令(DOS、Windows或应用程序)可以直接在命令行上调用。
Xdata.lsp:将扩展数据附加于某一实体或显示某一实体的扩展数据。附加扩展数据:菜单调用为Bonus->Tools->Xdata Attachment,命令调用为xdata;显示扩展数据:菜单调用为Bonus->Tools->List Entity Xdata,命令调用为xdlist。做过程序开发的用户对扩展数据一定很感兴趣,但扩展数据码表较复杂,要反复调试程序方能通过。这个文件具有很高的参考价值。
这里再次强调:这些程序是由一个名为ac_bonus.lsp的程序统一封装、加载的,每一个程序都可能需要ac_bonus.lsp定义的公用函数的支持。如果改动以上的.lsp文件,将其编入自己的程序中,需对ac_bonus.lsp也做一定的改动,将其有关部分同时加入到自己的程序中。
还有许多附加工具,这里不再讲述,有兴趣的用户可以运行bonus的帮助文件,查一查里面还有什么好东西。