《autolisp在cad二次开发中的应用 毕业论文》由会员分享,可在线阅读,更多相关《autolisp在cad二次开发中的应用 毕业论文(65页珍藏版)》请在金锄头文库上搜索。
1、本科毕业论文本科毕业论文( (设计设计) )题目: 应用 Auto lisp 在南方 CASS 中批量处理图形数据 学院: 山西大同大学煤炭工程学院 班级: 07 测绘一班 姓名: 付智华 指导教师: 徐广翔 职称: 副教授 完成日期: 2011 年 6 月 15 日山西大同大学工学院 2011 届本科毕业设计山西大同大学山西大同大学 2011 届本科毕业论文届本科毕业论文(设计设计)选题审批表选题审批表学院:煤炭工程学院 系别:采矿工程系 专业(专业方向):测绘工程学生姓名付智华学号070809011103指导教师徐广翔职称 副教授 所选题目名称:应用 AUTO LISP 在南方 CASS
2、中批量处理图形数据选题性质: ( )A.理论研究 ( )B.应用研究 ( )C.应用理论研究 ( )D. 产品设计( )E.工程技术开发 ()F.软件开发与应用 ( )G.其它)选题的目的和意义:研究本课题的目的是通过 AUTO LISP 语言的学习和对 CASS 的进一步开发应用,更进一步提高对 CASS 绘图功能和应用的认识与掌握。随着科学技术的不断发展和社会的不断进步,计算机也越来越普遍的在各个行业中得到推广和应用。实践证明在工程地质中引入 CAD 技术是岩土工程勘查的计算和绘图在质量和速度上都产生了一个质的飞跃,使勘察设计工作上上了一个大台阶。但是目前许多勘察设计单位的设计人员大多只能
3、利用 AUTO CAD 软件,一笔一画地挥出所需的设计图纸,是工程勘察设计人员大大部分时间都花费在繁琐的计算和绘图中,设计工作的重复性较大,工作效率较低。如果设计人员能够对AUTO CAD 进行二次开发,通过对 AUTO LISP 进行编程,在 CASS 中加入一些用户需要的功能,从而使 CASS 在绘图中更具有实用化。指导教师意见:签字: 年 月 日学院意见:签字: 年 月 日备注:山西大同大学工学院 2011 届本科毕业设计山西大同大学山西大同大学 20112011 届本科毕业论文届本科毕业论文( (设计设计) )开题报告开题报告学院:煤炭工程学院 系别:采矿工程系 专业:测绘工程 设计
4、题目应用 AUTO LISP 在南方 CASS 中批量处理图形数据指导 教师徐广翔职称副教授学生 姓名付智华学号070809011103一 、研究目的(选题的意义和预期应用价值) 研究本课题的目的是通过 AUTO LISP 语言的学习和对 CASS 的进一步开发应用, 更进一步提高对 CASS 绘图功能和应用的认识与掌握。 随着科学技术的不断发展和社会的不断进步,计算机也越来越普遍的在各个 行业中得到推广和应用。实践证明在工程地质中引入 CAD 技术是岩土工程勘查的计 算和绘图在质量和速度上都产生了一个质的飞跃,使勘察设计工作上上了一个大台 阶。但是目前许多勘察设计单位的设计人员大多只能利用
5、AUTO CAD 软件,一笔一 画地挥出所需的设计图纸,是工程勘察设计人员大大部分时间都花费在繁琐的计算 和绘图中,设计工作的重复性较大,工作效率较低。如果设计人员能够对 AUTO CAD 进行二次开发,通过对 AUTO LISP 进行编程,在 CASS 中加入一些用户需要的 功能,从而使 CASS 在绘图中更具有实用化。 本课题研究利用 AUTO LISP 的二次开发功能,有效地提高 CASS 的功能,从而 提高 CASS 在工程中批量处理图形数据的应用二、与本课题相关的国内外研究现状,预计可能有所突破和创新的方面(文献综述) AutoCAD 作为计算机辅助绘图的系列软件, 界面友好、功能强
6、大, 其应用领 域十分宽广,诸如在机械设计、电子设计、土木建筑、地图绘制、石油化学、工商 业方面等, 是设计人员广泛使用的CAD 绘图软件。随着现代工业工程技术的发展, 对计算机辅助设计的要求是越来越高。嵌在AutoCAD 内部的AUTO LISP 语言为用户 开发出适合于本行业的用户应用程序提供了可能性。以下是实际工作中的二次开发 研究: ( (一一) ) 马鞍山市测绘院有限责任公司利用马鞍山市测绘院有限责任公司利用AUTOAUTO LISPLISP编程实现坐标点高程值批量修改编程实现坐标点高程值批量修改 在外业碎部测量中由于种种原因有时会出现高程点数据发生错误的情况。这些情 况的出现虽然可
7、以去重新测量, 但是花费了更多的时间和人力。CAD的出现不仅使测 量内业工作量大大减轻, 也使得外业的有些错误可以借助CAD得以改正。高程点数据 及高程点注记可以利用CAD 的属性修改命令用手工一一修改, 但是碎部测量中的点 是非常多的, 因而这是一件让人头疼的费时费力的事情。利用AUTO CAD自带的AUTO LISP语言编程便可以轻松解决这个问题。 程序设计思路简述如下: 程序中首先获得需要修改高程值的所有坐标点数据以 组成选择集, 然后逐一取出各个坐标点的Z 值加上对应的高程差值以修改其Z值(即高程值) ,然后更新所有坐标点在CAD 对象数据库中的数据。这便解决了批量修 改坐标点高程值的
8、问题。由选择集中逐一取出已修改了高程值的各个坐标点,取其高山西大同大学工学院 2011 届本科毕业设计程值,在Gc层中成批生成各点对应的高程注记。从而解决了高程注记成批生成的问题。(二)广州市市政工程维修处利用广州市市政工程维修处利用AUTOAUTO LISPLISP在测量内业工作中的应用在测量内业工作中的应用 1.AUTO LISP在数字化测图方面的应用 在数字化测图的内业成图阶段,需要绘制陡坎、斜坡、围墙、铁丝网等线状地 物,也需要绘制排水井、消防栓、路灯等独立地物,依据地形图图例,这些地物都 是用特殊的线形或符号来表示的,使用AUTO CAD的原有功能,要绘制表示这些地物 的线形或符号是
9、既困难又繁琐的。针对这样的问题, 就可以通过编制AUTO LISP程 序进行解决,使每一个程序对应一定的线形或符号,在使用时,将程序加载到AUTO CAD中,便可以像AUTO CAD 命令一样进行使用 2.AUTOLISP在测量工作量统计中的应用 工作量统计是一项繁琐的工作,尤其是在市政管线探测工作中,需要统计各种管 线的长度作为测量工作收费的依据,过去这项工作基本上都是采用在打印好的图纸上 逐段量出长度,再求和的方法来进行,这种方法不仅效率低下,准确性也很难保证 ( (三三) )山东科技大学测绘学院利用山东科技大学测绘学院利用LISPLISP语言实现等高线修改语言实现等高线修改 地形等高线在
10、地学研究中有重要意义,地形图上等高线的修改是地理系统中的一 个重要课题。引入LISP 语言,通过编写程序对获取的地形等高线进行批量赋值,最终 较好地解决了等高线提取中的间断、交叉和粘连问题。 等高线的修改是利用AUTOCAD 的LISP 语言二次开发出的软件。该软件可以辨别 条件提取地形等高线,还可以方便地对提取结果进行修改,以纠正自动提取结果的 错误1。三、分析研究的可能性、基本条件及能否取得实质性进展(方案论证) 基于Auto CAD(CASS)处理测绘图形的技巧和方法可归纳如下: 1.“数据”、“图形”的自动转换1.1 间接转换 (1) 采用高级语言(Basic语言或C语言)编制程序调用
11、原始数据文件生成SCR命令 文件,在Auto CAD的图形编辑环境下调用SCRIPT命令执行该文件,生成相应的图形。(2) 用高级语言生成DXF文件,在Auto CAD图形编辑环境下调用DXFIN命令打开文 件,即可得到相应的图形文件。 (3) 用高级语言直接生成DWG图形文件。1.2 直接转换 利用 Auto LISP语言,编写相应程序,读取有关数据文件,进行处理,并调 Auto CAD绘图命令,直接生成图形。这种方法直接在Auto CAD下工作,不仅减少中 间环节,提高效率,且具有较强的通用性,对一些较复杂的图形,更直接方便。 2.“图形”*“数据”的自动转换 2.1 图纸资料数字化 用手
12、扶式数字化仪,可以编制相应的LISP程序,完成图形的数字化。程序运行 时,将从数字化仪传递来的数据信息(点的坐标)连同交互式状态下输人的有关编码 合并以合理的数据结构存贮于数据文件中,同时,在屏幕上,采用不同的图层和颜山西大同大学工学院 2011 届本科毕业设计色进行同步显示。从而使数字化过程变得直观、形象,避免产生丢点或重复等各种 错误的发生。2.2 自动更新变更后的图形 在 Auto LISP语言中,有很多实体访问函数,实体名称函数、实体数据函数, 运用上述函数编制一个LISP程序就可实现图形文件到数据文件的自动转换。具体过 程如下:用ssget函数构造一个选择集,在利用sslength函
13、数求出选择集实体的个数, 然后。sname函数依次求出每个实体的名称,通过entget函数就可获得实体的下列信 息:实体类型,所在层名和实体颜色号(一般图形的编码就隐含在图层和颜色中)。 如果原图形中某一范围需要修改,就可利用Auto CAD编辑命令完成,甚至将原图中 元素删除掉,重新绘制,修改完成后,运行上述LISP程序,给出变更范围,计算机 立即生成一个新的数据文件,重新纳人管理系统中去,从而保证图形与数据的统一。3 图形的批量编辑图形的批量编辑在测量图形处理中,经常会遇到需要批量处理某类图素的情况。如地形图中些 专用符号及注记字符大小需要统一放大或缩小;图中的植被符号需要统一调整密度等。
14、 如果采用手工逐一编辑,工作量大,效率很低。则可以编制一段相应的LISP程序来 自动完成。具体作法是,首先是Auto CAD下构造一选择集,集内包含所有需要修改 的实体,然后逐一求出各个实体的名称,并对该实体有关数据做相应修改。 4 开发新功能函数 Auto CAD虽然提供丰富的绘图和编辑命令,但有些测量方面常用的功能并不具 备,可利用LISP语言对Auto CAD作二次开发,开发出适应测量专业特点的新功能函 数。例如在地形测量中,加固陡坎、未加固陡坎、铁路、电力线路,围墙,界址线 等地貌符号和图式符号的绘制,Auto CAD没有提供相应的绘图命令,为此,可以编 制相应的LISP程序来自动处理
15、完成。5 纠错技巧 在地形图测量中,会遇到这样的情况,图形已经测绘完毕,却发现坐标系统用 错,需要图形坐标还原、方位旋转或需要换带处理,怎么办?Auto CAD可化险为夷! 具体办法是:对于坐标系统用错,在测图区域内找相距较远的2个已知点,计算确定 对的和错的两组坐标,分别计算两点之间边的方位,确定出需要扭转的角度。如果 是数字化地形图,直接在Auto CAD环境下调出所有图幅,关闭纯地形图以外的图层。 利用MOVE命令移动整块图形,移动基点选取上述已知点中错误的一个。再利用 ROTATE命令旋转整块图形,旋转基点选择已知点中正确的一个2。四、课题研究的主要方法、策略和步骤1 程序设计的指导原
16、则 (1). 采用模块化和参数化的设计方式。 (2). 充分利用AUTO CAD的菜单工具条及对话框等交互界面设计工具!提供良好的 用户界面对所有的参数输入都采用下拉菜单和对话框的模式(3). 容错处理功能! 2 程序设计的技术和方法 2.1 AUTO LISP语言 LISP 语言是最早引入进行AUTO CAD二次开发的语言!是一种嵌入AUTO CAD内部 的LISP 编程语言!具有人工智能性!是LISP语言和AUTO CAD有机结合的产物!是一种 适合于进行CA D 项目开发的非结构化设计语言! 是开发AUTO CAD图形软件的强有力山西大同大学工学院 2011 届本科毕业设计工具$ 实现参数化绘图程序设计是AUTO LISP