autolisp在cad二次开发中的应用毕业答辩.ppt
-
资源ID:70101514
资源大小:309.50KB
全文页数:18页
- 资源格式: PPT
下载积分:11.9金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
autolisp在cad二次开发中的应用毕业答辩.ppt
20112011届本科毕业答辩届本科毕业答辩付智华付智华0707测绘一班测绘一班1/16/20231应用应用Auto lisp在在AutoCAD中批量处理图形数据中批量处理图形数据 图层控制图层控制 文字样式修文字样式修改改1/16/20232研究目的研究目的v实现实现CAD的二次开发的二次开发v提高提高CAD绘图与用图的效率绘图与用图的效率v利用利用CAD二次开发,提高二次开发,提高CAD批量处理图形数据的批量处理图形数据的功能功能1/16/20233一、一、Auto CAD的二次开发的二次开发 1.1 CAD二次开发的定义二次开发的定义 所谓所谓CAD的二次开发也就是用编程的方法使的二次开发也就是用编程的方法使CAD操作简单化操作简单化,命令命令 实用化和出图特色化实用化和出图特色化,从而提高工作效率从而提高工作效率.1.2 AutoCAD二次开发技术主要包括两个方面二次开发技术主要包括两个方面 一方面是对它的功能进行扩充和修改一方面是对它的功能进行扩充和修改 另一方面,是利用开发工具,编写能够完成特殊任务的自动另一方面,是利用开发工具,编写能够完成特殊任务的自动绘制软件绘制软件 1/16/20234 1.3 CAD二次开发的语言二次开发的语言AutoLISP Auto LISP语言是语言是Autodesk公司为用户提供的在公司为用户提供的在AutoCAD平平台上进行二次开发的早期语言。台上进行二次开发的早期语言。Auto LISP不仅具备一般高级基本结不仅具备一般高级基本结构与功能,而且还具有强大的图形处理功能。由于构与功能,而且还具有强大的图形处理功能。由于AutoLISP易于掌易于掌握,因此,是握,因此,是AutoCAD用户使用较为广泛的编程语言之一。用户使用较为广泛的编程语言之一。1.4 CAD二次开发的工具二次开发的工具 1.3.1 Visual Lisp 基础基础 Visual Lisp 是为加速是为加速Auto LISP程序开发而设计的软件工具,程序开发而设计的软件工具,它提供了一个完整的集成开发环境。无需单独安装,与它提供了一个完整的集成开发环境。无需单独安装,与 AutoCAD 捆捆绑安装在一起。绑安装在一起。1.3.2 DCL 基础基础 AutoCAD有自己的一套对话框设计语言,称为对话框控制语言有自己的一套对话框设计语言,称为对话框控制语言(Dialog Control Language,简称,简称DCL)。)。1/16/20235二、Auto Lisp 用于图层控制 2.1 设计的目的设计的目的 在在CAD制图与用图中,当涉及的涂层元素较多时,往往需要关闭某制图与用图中,当涉及的涂层元素较多时,往往需要关闭某 一图层或者单独打开某一图层,传统的做法是用一图层或者单独打开某一图层,传统的做法是用CAD自带的图层管理器自带的图层管理器 设置来实现图层控制。这种操作往往比较烦琐,而我们通过设置来实现图层控制。这种操作往往比较烦琐,而我们通过 Visual LISP 编程就可以快速实现图层控制。编程就可以快速实现图层控制。2.2 设计的思路设计的思路 编写编写LISP程序,程序,选取所需要的图层并识别图层名,打开或锁定该选取所需要的图层并识别图层名,打开或锁定该图图 层,实现图层的快速控制。层,实现图层的快速控制。1/16/20236 2.3 设计的过程设计的过程 2.3.1 编写程序编写程序 on.lsp on.lsp 程序程序v;选择物体单独打开其所在图层v(defun c:on(/ss ent a en lay)v (setq ss(ssget)v (setq ent(sslength ss)v (setq ent(-1 ent)v (command layer off*y )v (setq a 0)v (while(=a ent)v (setq en(ssname ss a);返回选择集中的序号a指定的那个对象的图元名v (setq lay(cdr(assoc 8(entget en);获得被选择物体所在的图层;8是图层的组码;v (command _layer on lay );打开所选的图层v (setq a(+1 a)v (princ)v )1/16/20237off.lsp 程序程序v;选择物体关闭其所在图层v(defun c:off(/ss ent a en lay)v (setq ss(ssget)v (setq ent(sslength ss)v (setq ent(-1 ent)v (setq a 0)v (while(=a ent)v (setq en(ssname ss a);返回选择集中的序号a指定的那个对象的图元名v (setq lay(cdr(assoc 8(entget en);获得被选择物体所在的图层;8是图层的组码;cdr是取得表第一个元素v (if(=lay(getvar clayer));获得系统变量的值v (command _layer off lay y)v (prognv (command _layer off lay)v (setq a(+1 a)v (princ)v)1/16/20238 2.3.2 运行程序运行程序 (1)在)在LISP编辑器中打开编辑器中打开LISP程序程序 (2)检验程序)检验程序 调试程序调试程序 (3)加载程序)加载程序 (4)程序运行)程序运行 1/16/20239 2.3.3 成果显现成果显现 1/16/202310三、Auto LISP处理文字样式3.1 设计的目的设计的目的 u 能对能对AutoCAD中的中的TEXT实体进行编辑实体进行编辑 u 可修改文字的字型、高度、宽度、角度、倾角属性可修改文字的字型、高度、宽度、角度、倾角属性u 单选时可修改文本串单选时可修改文本串u 采用采用DCL对话框界面,使用方便,提高效率对话框界面,使用方便,提高效率1/16/202311 3.2 设计的过程设计的过程 3.2.1 对话框的设计 a 设计程序设计程序 word.dcl b 对话框的窗口对话框的窗口 1/16/202312 3.2.2 文字样式对话框驱动文字样式对话框驱动 a 编写驱动程序编写驱动程序 word.lsp b 驱动过程驱动过程p 将将 word.lsp 和和word.dcl 文本拷贝到文本拷贝到CAD的的support中中p 在在LISP编辑器中打开编辑器中打开word.lsp文本文本p 检查并修改检查并修改word.lsp程序程序p 加载加载word.lsp程序程序p 运行运行word.lsp程序程序 1/16/202313 c 成果显现过程成果显现过程1/16/2023141 修改字体高度和宽度修改字体高度和宽度 2 编辑文字内容编辑文字内容d 成果显现成果显现1/16/202315四四 自制菜单的生成自制菜单的生成 4.1 目的目的 实现程序的快速加载实现程序的快速加载 4.2 自制菜单的生成过程自制菜单的生成过程 (1)编写)编写&.mnu 程序程序 (2)菜单的载入)菜单的载入 (3)菜单的生成)菜单的生成 4.3 菜单的使用菜单的使用 以以“图层控制图层控制”为例,操作此过程为例,操作此过程1/16/202316五五 总结总结 本次设计是实现了Auto Lisp语言用于CAD的二次 开发,主要是在图层控制图层控制和修改文字样式修改文字样式这两方面的 应用。Auto Lisp语言在图层控制中实现了快速的打开 或者锁定所需图层的目的,操作简便,效率高。文字 样式修改的设计,是利用Auto Lisp语言与DCL对话框 实现了编辑单个或者成组TEXT实体,修改单个文本串 的目的,充分说明利用Auto Lisp语与DCL语言可以对 Auto CAD进行十分有效的二次开发。通过本次设计,我对CAD的二次开发有了更深刻 的认识与理解。最后感谢我的指导老师徐老师的精心指导和 无私的关怀,使我受益匪浅;也感谢我的所有大学老 师,谢谢你们四年来的 虚心教育,我会永远记住你们的。1/16/202317THE END 谢谢大家谢谢大家GOODBYE!1/16/202318