- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- 2024年湖南水利水电职业技术学院单招职业技能测试题库含答案(研优卷).docx VIP
- 教育、科技、人才一体化视域下发展新质生产力的四重逻辑和实践路径.docx VIP
- 教育、科技、人才一体化视域下发展新质生产力的四重逻辑和实践路径.docx VIP
- 教育、科技、人才一体化与新质生产力发展.pptx VIP
- 《大棚番茄基质槽式栽培技术规程》.docx
- 立体车库 毕业论文外文翻译.docx VIP
- 教育、科技、人才一体推进新质生产力发展.docx VIP
- 2024年湖南水利水电职业技术学院单招职业技能测试题库含答案(考试直接用).docx VIP
- 社交礼仪教程(第7版 微课版)课件 第五章 餐饮礼仪.pptx
- 2025清华:DeepSeek从入门到精通.pdf
文档评论(0)