HEATS 发表于 2010-9-13 21:40:46

实用的AutoCAD附加工具和系统变量

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

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网