欢迎来到天天文库
浏览记录
ID:45096895
大小:27.00 KB
页数:7页
时间:2019-11-09
《autolisp实用编程四例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、autolisp实用编程四例江苏崔华明 autocad是一个功能强大的通用图形设计软件,其内嵌的autolisp语言为用户进行二次开发提供了方便。下面就介绍几则用autolisp编写的实用程序,这些程序相当于新增的autocad命令,可以弥补autocad本身的一些不足,为日常使用带来方便。 1.快速更改文本的大小 在标准的autocad中,要更改已有文本的大小,需要使用change命令。该命令的缺陷是:即使只更改文本的大小,也要重新确认文本的插入点、字型、倾斜角等一系列参数。也就是说,除输入文本的新高度值外,还需要按5次回车键才能
2、完成一个文本的更改!而且每次只能修改一个文本。这对于同时更改多个文本的大小非常不便。本文的autolisp程序使这一工作变得十分方便和快捷。使用方法如下: 在autocad的command提示下,打入命令: cth autocad将提示“selectobjects:”,这时可以使用autocad允许的任意方式选择目标。对于有多个文本需要更改的情况,使用窗口选择比较方便,而且你不用担心选择窗口中包含了非文本目标,程序能够自动在选择的目标中查找出文本实体,并只对文本进行更改。 选择目标后,autocad提示“newtextheight
3、:”,这时输入一个新的文本高度值然后回车,则所有选中的文本被更改成新设定的高度。 2.延伸直线的长度 在实际使用中,常常要将一条直线延伸指定的长度。通常的做法是:在需要延伸的直线的端点画一个辅助圆,圆的半径等于直线要延伸的长度,然后使用extend命令将直线延伸到与圆相交,最后删除辅助圆。 本文的autolisp程序将使你非常容易地实现这一点。你只需选择要延伸的直线并输入要延伸的长度即可,其余的工作由程序自动完成。使用方法如下: 在autocad的command提示下,打入命令: stl 然后根据提示选择要延伸的直线(选择点要
4、靠近直线需要延伸的端点),并输入延伸的长度。该程序将自动在离选择点较近的直线端点,按指定的长度延伸直线。 3.快速画直线 在画给定坐标点的直线时,需要通过键盘输入坐标值。这样的情况下当然是利用右边的数字键盘输入较为方便。但若直接使用autocad的line命令画直线,在x和y两个坐标值之间需要输入一个逗号“,”作为分隔,而数字键盘区又没有该逗号,所以仍然不方便。 本文的autolisp画直线程序只要求用户输入坐标值,而由程序自动调用line命令画出直线,因此用户不用离开数字键盘区就能完成工作。使用方法如下: 在autocad的co
5、mmand提示下,打入命令: xlin 然后根据提示依次输入x和y坐标。若要结束画线,在程序提示输入x坐标时直接打回车即可。 4.围绕圆弧写一段文本 有时为了美观的需要,希望能够围绕一段圆弧来写文本文字,本文的程序提供了这一功能。使用方法如下(粗体字表示autocad的提示,尖括号“ΙΛ"中的部分是需要用户输入的内容): command:atxt startpointoftext:Ι指定文本的起点Λ textheight:Ι指定文本的高度值Λ selectarc:Ι选择圆弧Λ text:Ι输入文本Λ 输入以上相关内容后
6、,程序自动围绕指定的圆弧写文本。如果当前的文本字型有固定高度,则程序不提示“textheight:”。 本文给出的程序只适合写英文文本,由于汉字是双字节,所以若要写汉字,需要对程序作一些修改。需要修改的地方为程序中第二个if函数,用下面的代码替换原来的if函数: (if(Κtsize0) (command″text″″c″ptsiztr(substrtxtcnt2)) (command″text″″c″pttr(substrtxtcnt2)) ) 紧接该函数,在其后再增加一行代码: (setqcnt(+cnt1)) 修改后
7、的程序支持中文文本(不支持中、英文混合书写)。 5.程序使用说明 以上每个功能的autolisp程序既可以以独立的文本文件形式存放,也可以合并在一个文本文件中。若以acad.lsp作为程序文件名,并将文件放在autocad支持文件所在的路径中,则在启动autocad时系统会自动加载该文件。否则需要通过系统菜单或load函数加载autolisp程序文件,然后才能使用。load函数的调用格式是:在autocad的command:命令提示状态下,打入: (loadΙautolisp文件名Λ) 在Ιautolisp文件名Λ中可以包含dos
8、路径,但需要注意的是:在autolisp中,反斜杠“ι”有特殊的定义,因此要使用正斜杠或连续两个反斜杠来表示dos路径中的反斜杠。如: (load″acadιιcad1.lsp″) 扩展名
此文档下载收益归作者所有