AutoLISP在工程制图中对命令的简化应用.docx

AutoLISP在工程制图中对命令的简化应用.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

AutoLISP在工程制图中对命令的简化应用

?

?

刘承权刘昌文王艳

【摘要】AutoCAD工程制图中,使用AutoLISP进行一些适应需要的简单编程,实现一个命令替代多个命令或命令多步执行,从而简化操作,使工程制图变得更快捷。

【关键词】AutoLisp;编程;工程制图;AutoCAD

:G434:A:2095-2457(2018)23-0084-002

DOI:10.19694/j.cnki.issn2095-2457.2018.23.035

【Abstract】InAutoCADengineeringdrawing,AutoLISPisusedtocarryoutsomesimpleprogrammingtomeettheneeds,andasinglecommandisimplementedinsteadofmultiplecommandsormulti-stepexecution,whichsimplifiesoperationandmakesengineeringdrawingmorerapid.

【Keywords】AutoLisp;Programming;Engineeringdrawing;AutoCAD

0引言

AutoCAD工程制图中,常常会遇到需要不断重复使用某个命令的情况,而命令使用时,通常还需要继续输入数个选项,这样的命令使用起来枯燥而繁琐。一些AutoCAD插件虽然能提供一些功能,但未必符合自己的应用场景。使用AutoLISP对命令进行一些适应需要的简单编程,就能简化命令操作,从而提高制图效率。AutoLisp可以直接调用AutoCAD中的全部命令,因此我们在使用AutoCAD命令完成的一系列操作都可以用AutoLisp来完成。

1基本原理

下面的例子定义了一个函数“n”,在AutoCAD中加载这个例子后,输入命令“n”,即可执行。“;”符号后面的描述是注释,程序执行时会忽略这些内容。

(defunc:n();;;定义名为n函数,也就是在AutoCAD中输入的命令n,可以根据需要定义,不要与已有AutoCAD命令相同;

(commandZOOMd);;;command函数是本文的主角,用于执行AutoCAD中的命令,其后跟随的“ZOOM”就是视图缩放命令,“d”是执行“ZOOM”命令后出现的选项字段;

);;;括号注意配对;

从上面的例子可以看出,就是定义一个函数的名称,然后调用AutoCAD的命令,就简单的完了需要的功能。

2应用场景实践

2.1动态缩放:

(defunc:n()

(commandZOOMd)

(princ)

在某些比面积较大的项目图纸中,比如市政工程,我们需要放大视图检查多个细节,我们可以不断的滚动鼠标中间来放大缩小,也可以输入命令“zoom”然后选择字段“d”来查看,在多个细节上检查来回放大缩小,确实感觉操作繁琐,这个例子看似很简单,但却能解决这个问题。使用时,先加载程序,输入命令n,鼠标变成一个矩形框,将矩形框移动到需要查看的细节位置,点击空格键即可放大该区域,可以用空格重复该命令而不用再输入中间选项。

2.2合并多段线

(defunc:jn()

(setqpet(getvarPEDITACCEPT))

(setvarPEDITACCEPT1)

(setqss(ssget((0.ARC,*LINE))))

(if(andss)

(command_peditmssj)

(setvarPEDITACCEPTpet)

(princ)

当我们需要合并线段、圆弧、多段线时,尤其是在钢箱桥梁展开图中,曲线是由小段的线段组成,线段数量大,需要合并为一条多段线。通常做法是,输入“PEDIT”命令,根据提示依次输入“M”,选择线段,输入“J”,输入“模糊距离”……步骤多,并且必须是先输入命令再选择,有时候常常忘记顺序,先选择了线段对象,再输入命令,这是发现之前的选择无效必须重新选择。这个例子实现了可以在命令之前或之后选择都可以,中间的选项都不用再輸入,输入一次命令即可完成。

2.3定制打印

(defunc:pt()

(setqslcnil)

(setqslc(ssget((0.lwpolyline)(8.图纸))))

(if(andslc)

(progn

(setqtkn(sslengthslc))

(setqi0)

(repeattkn

(setqtki(ssnameslci))

(setqtki_inf(entgettki))

(setq

文档评论(0)

+ 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档