欢迎来到天天文库
浏览记录
ID:40835997
大小:892.50 KB
页数:18页
时间:2019-08-08
《autolisp在cad二次开发中的应用毕业答辩》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2011届本科毕业答辩付智华07测绘一班2011.6.207/25/20211应用Autolisp在AutoCAD中批量处理图形数据图层控制文字样式修改7/25/20212研究目的实现CAD的二次开发提高CAD绘图与用图的效率利用CAD二次开发,提高CAD批量处理图形数据的功能7/25/20213一、AutoCAD的二次开发1.1CAD二次开发的定义所谓CAD的二次开发也就是用编程的方法使CAD操作简单化,命令实用化和出图特色化,从而提高工作效率.1.2AutoCAD二次开发技术主要包括两个方面一方面是对它的功能进行扩充和修改另一方面,是利用开发工具,编写能够完成特殊任务的
2、自动绘制软件7/25/202141.3CAD二次开发的语言—AutoLISPAutoLISP语言是Autodesk公司为用户提供的在AutoCAD平台上进行二次开发的早期语言。AutoLISP不仅具备一般高级基本结构与功能,而且还具有强大的图形处理功能。由于AutoLISP易于掌握,因此,是AutoCAD用户使用较为广泛的编程语言之一。1.4CAD二次开发的工具1.3.1VisualLisp基础VisualLisp是为加速AutoLISP程序开发而设计的软件工具,它提供了一个完整的集成开发环境。无需单独安装,与AutoCAD捆绑安装在一起。1.3.2DCL基础AutoCAD
3、有自己的一套对话框设计语言,称为对话框控制语言(DialogControlLanguage,简称DCL)。7/25/20215二、AutoLisp用于图层控制2.1设计的目的在CAD制图与用图中,当涉及的涂层元素较多时,往往需要关闭某一图层或者单独打开某一图层,传统的做法是用CAD自带的图层管理器设置来实现图层控制。这种操作往往比较烦琐,而我们通过VisualLISP编程就可以快速实现图层控制。2.2设计的思路编写LISP程序,选取所需要的图层并识别图层名,打开或锁定该图层,实现图层的快速控制。7/25/202162.3设计的过程2.3.1编写程序on.lsp程序;选择物体
4、单独打开其所在图层(defunc:on(/ssentaenlay)(setqss(ssget))(setqent(sslengthss))(setqent(-1ent))(command"layer""off""*""y""")(setqa0)(while(<=aent)(setqen(ssnamessa));返回选择集中的序号a指定的那个对象的图元名(setqlay(cdr(assoc8(entgeten))));获得被选择物体所在的图层;8是图层的组码;(command"_layer""on"lay"");打开所选的图层(setqa(+1a)))(princ))7/25
5、/20217off.lsp程序;选择物体关闭其所在图层(defunc:off(/ssentaenlay)(setqss(ssget))(setqent(sslengthss))(setqent(-1ent))(setqa0)(while(<=aent)(setqen(ssnamessa));返回选择集中的序号a指定的那个对象的图元名(setqlay(cdr(assoc8(entgeten))));获得被选择物体所在的图层;8是图层的组码;cdr是取得表第一个元素(if(=lay(getvar"clayer"));获得系统变量的值(command"_layer""off"la
6、y"y""")(progn(command"_layer""off"lay"")))(setqa(+1a)))(princ))7/25/202182.3.2运行程序(1)在LISP编辑器中打开LISP程序(2)检验程序调试程序(3)加载程序(4)程序运行7/25/202192.3.3成果显现7/25/202110三、AutoLISP处理文字样式3.1设计的目的能对AutoCAD中的TEXT实体进行编辑可修改文字的字型、高度、宽度、角度、倾角属性单选时可修改文本串采用DCL对话框界面,使用方便,提高效率7/25/2021113.2设计的过程3.2.1对话框的设计a设计程序wo
7、rd.dclb对话框的窗口7/25/2021123.2.2文字样式对话框驱动a编写驱动程序word.lspb驱动过程将word.lsp和word.dcl文本拷贝到CAD的support中在LISP编辑器中打开word.lsp文本检查并修改word.lsp程序加载word.lsp程序运行word.lsp程序7/25/202113c成果显现过程7/25/2021141修改字体高度和宽度2编辑文字内容d成果显现7/25/202115四自制菜单的生成4.1目的实现程序的快速加载4.2自制菜单的生成过程(1)编写&.mnu程
此文档下载收益归作者所有