基于AutoLISP和AutoCAD的机械制图作业测评软件论文.doc
《基于AutoLISP和AutoCAD的机械制图作业测评软件论文.doc》由会员分享,可在线阅读,更多相关《基于AutoLISP和AutoCAD的机械制图作业测评软件论文.doc(43页珍藏版)》请在沃文网上搜索。
1、第1章 概述1.1 选题背景及意义一个只会使用AutoCAD所提供的基本命令画图的用户,绘图效率的上限将很快地达到,顶多提升到手画图的2倍,若配合良好的系统规划与程序设计,等于在图形上加入智能,效率将大大提高, AutoLISP语言就是AutoCAD提供给用户的主要二次开发工具之一,它是嵌套在AutoCAD内部的LISP编程语言。用AutoLISP语言编写应用程序,可以为AutoCAD增加新的命令或修改AutoCAD,以适应用户的工作效率和二次开发水平,增强AutoCAD的灵活性,并将得到长期、稳定的技术支持。因此,我们不能局限于仅由系统提供的基本绘图命令,更主要的是允许用户在几乎所有方面对其
2、进行扩充和修改,能最大限度地满足用户的特殊要求,开发基于AutoLISP和AutoCAD机械制图作业测评软件能自动地对用户所绘的图形进行正误判断(用户把各种图形数据输入到计算机中去,存储图形数据以及各种图形数据之间的相互关系,由计算机对绘图用户提交的作业进行分析计算与测评)。据调查,目前的院校,学生用AutoCAD软件完成的机械制图作业均有学生保存后由老师一一评定,这种做法使一个老师将时间耗在重复地做同一种工作上,同时,老师将学生的作业经评测后反馈给学生,这又有一个过程,这一过程耗时耗力,甚至出现差错。开发的这款基于AutoLISP与AutoCAD技术的机械制图作业测评系统软件将这一过程交给计
3、算机完成,用户绘制好图形后,点击菜单栏的提交作业按钮,计算机便对用户提交的作业进行测评。这款软件的问世将提高用户自学AutoCAD绘图能力和提高绘图人员的绘图的效率与准确率。1.2 与本课题相关的国内研究现状与发展趋势经查阅多种资料和借助互联网,目前国内外还未出现这款基于AutoLISP和AutoCAD的机械制图作业测评软件,开发这款软件是CAD技术的应用,经过30年的发展CAD技术已经得到了迅速普及,已经成为信息技术的重要组成部分,CAD技术使产品设计工作的内容和方式发生了根本性变革。这一技术已成为工业发达国家保持竞争优势,开拓市场的主要技术手段。1989年,美国国家工程科学院将CAD技术评
4、为人类25年间(19651989)当代十项最杰出工程技术成就之一。这项技术极大的提高了产品开发的速度,提高了设计的精度,这一新技术的应用将使人类的聪明才智和创造能力与计算机高速而精确的计算能力,大容量的存储和数据处理能力结合起来,使两者相得益彰,CAD技术的发展与应用水平已成为衡量一个国家的科学技术现代化和工程现代化的重要标志之一。近几年来,随着计算机技术的飞速发展,CAD技术已经由发达国家向发展中国家扩展,而且发展 的势头非常迅猛。我国政府部门十分重视这一新技术,已经和科技界,工业界一起把CAD技术的应用推广当作一件大事来抓。要使企业真正用好CAD系统、使之变成现实生产力,必须向企业提供易学
5、易用的二次开发工具,即开发面向行业和企业应用的专用CAD软件和数据库。除了传统的函数库调用,Lisp语言和C语言开发工具外,更需要系统开发单位能及时地对用户进行技术支持和培训。现在按交互、对话的图声文方式提示用户构造适合行业,适合企业的CAD应用系统将会更加友好,受用户欢迎。在改革开放和发展市场经济的条件下,一些经济效益好的企业从国外引进一些成套的功能较强的CAD/CAM系统,这对提高我国CAD/CAM技术的水平是十分有用的。这款软件的开发是CAD技术的发展的趋势。本课题的发展在很大程度上就是CAD的发展,随着计算机技术的发展,CAD技术的研究与应用领域也在不断延伸,新的分支相应产生,CAD技
6、术的应用领域又有了新的发展。1. 集成化计算机集成制造系统是在新的生产组织原理知道下形成的一种新型生产模式,是当前CAD/CAPP/CAM/CAE集成化技术发展的主要目标,是提高企业产品设计和制造的自动化程度的重要手段。从目前的研究来看,如下关键技术的实现有利于逐步实现系统的集成。(1)计算机图形处理技术(2)图形输入和工程图样识别(3)产品造型技术(4)参数化设计方法(5)计算机辅助工艺规划设计(6)工程数据管理技术(7)数据交换技术2. 智能化设计是一个非常复杂的过程,设计人员只有具备多学科的专门知识与丰富经验才能得到一个理想的设计结果。同时,设计又是一项创造性活动,设计过程中的很多工作是
7、利用数据计算无法得到的。传统的CAD系统以分析计算和结构设计绘图为核心,无法解决上述问题,为了是计算机发挥更强大的作用,在CAD系统中引入人工智能的思想,方法和技术,使CAD系统具有专家的知识和经验,能模仿人的行为进行思考和推理,提出和选择设计方法和策略,支持设计过程的各个阶段,包括概念设计与初步设计,尽量减少人的干预,使计算机具有一定的智能行为,这是CAD技术的重要发展方向之一。3. 网络化随着计算机网络的飞速发展,CAD系统的网络化已经势不可挡。网络化可以充分发挥计算机系统的总体优势,共享资源,节省投资。借助网络,设计人员可以在网络上方便地进行交流,实现异地设计;在未来的设计活动中,很多软
8、件并不需要一定安装在计算机上,只要到Internet上寻找,然后在浏览器上运行,最后按使用的时间长短付费就行。4. 虚拟化虚拟现实是20世纪末发展起来的一种高新技术,它是一种有计算机生成的看似真实的模拟环境,通过多种传感设备,用户可以用自然技能与之直接交互,同时提供直观而又自然的实时感知,并使参与者“沉浸”于模拟环境中。虚拟现实技术的出现为CAD技术的发展又增添了一个更强有力的手段,它可以使设计人员在虚拟世界中创造虚拟产品,进行操作模拟,移动部件和进行各种试验,可以进行零件的虚拟加工和虚拟装配,及早发现产品结构空间布局中的干涉及运动机构的碰撞等问题,从而避免造成许多不必要的浪费。5. 艺术化艺
9、术、电影、动画、广告和娱乐等领域的计算机技术的应用也是CAD技术应用的延伸,这些领域由于数字化的实现过程,使作品在造型、色彩及构图方法上呈现出造型准确、色彩丰富、变化灵活、真实感突出的特点。与传统方式相比,其价值在于信息的生成、存储与传播方式等方面的根本性突破,特别是虚拟现实技术的发展,使这一领域计算机作品的感染力是传统形式所不能相比的。总之用LISP语言进行CAD二次开发是CAD技术发展的一种趋势。我们开发的这种基于AutoLISP和AutoCAD语言的机械制图作业测评软件能满足人们的需要,有很高的使用价值。第2章 总体设计软件设计的主要任务是根据需求规格说明导出系统的实现方案。软件设计在技
10、术上可分为总体结构设计、数据设计、过程设计和界面设计四个活动。在工程上可分为概要设计和详细设计两个阶段。软件设计中用到的基本概念包括:抽象与逐步求精,模块化与信息隐蔽,软件总体结构,数据结构与软件过程。软件过程设计中最常用到的是技术和工具主要规格说明书。2.1 总体设计思想问题定义、可行性研究和需求分析构成了软件分析阶段,在这个阶段确定了需求做什么和系统需求规格。而软件开发阶段的任务是概括地回答系统如何实现的问题。软件开发阶段包括概要设计、详细设计、编码和测试。在概要设计中有两个主要任务,一是系统划分成物理元素,即程序、文件、数据库、文档等。另一个是设计软件结构,即将需求规格转换为体系结构,划
11、分出程序的模块组成,确定模块间的相互关系,并确定系统的数据结构。总体设计过程首先寻找实现目标系统的各种不同方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。然后分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本效益分析,并且制定实现这个方案的进度计划。分析员应该综合分析比较这些合理的方案,从中选出一个最佳方案向用户和使用部门负责人推荐。如果用户和使用部门负责人接受了推荐的方案,分析员应该进一步为这个最佳方案设计软件结构。通常,设计出初步的软件结构后还要进一步改进,从而得到更合理的结构,进行必要的数据库设计,确定测试
12、要求并且制定测试计划。该软件的设计思想是,针对教学与学生学习实际需求,开发基于AutoLISP与AutoCAD技术的机械制图作业测评系统,将作图正误的判别、指正、评分等过程交给计算机自动完成,用户绘制好图形后,点击菜单栏的提交作业按钮,计算机便对用户提交的作业进行测评。2.2 系统总体模块结构基于AutoLISP和AutoCAD的机械制图作业测评软件按照其所实现的总体功能系统可分为如下3个大模块。1. 对绘图环境进行设定对绘图环境进行设定,其中包括:(1) 关闭AutoCAD命令提示(2) 当前窗口最大化(3) 图层操作命令被禁止(4) 调用内部菜单命令(恢复原始菜单按钮和提交作业按纽)2.
13、版权检查 版权检查的主要任务是检查软件是否为正版及相关的处理,若非正版则完成以下任务。(1) 出现警告信息(2) 卸载菜单(3) 退出AutoCAD3. 作业检查作业检查的主要任务包括:(1) 扫描指定图层名的图层(2) 问答层的图层实体名识别(3) 问答层的线条数目与答案层的线条数目比较(4) 判别问答层的直线是否为答案层的直线(5) 判别问答层的圆弧是否为答案层的圆弧(6) 判别问答层的圆是否为答案层的圆(7) 对错误的线条用亮线显示(8) 一些错误的提示和警告信息2.3 功能模块模块是数据说明、可执行语句等程序对象的集合。模块可以被单独命名,而且可通过名字来访问,例如:过程、函数、子程序
14、、宏等等都可以作为模块。在软件开发过程中,大型软件由于其控制路径多、涉及范围广而且变量数目多,使其总体更为复杂,这样与小型软件相比较就不易被人理解。模块化是为了使一个复杂的大型程序能被人的智力所管理,如果一个大型程序仅由一个模块组成,可理解性差。采用模块化原理可以使软件结构清晰,不仅容易实现设计,也使设计出的软件的可阅读性和可理解性大大增强。这是由于程序错误通常发生在有关的模块及它们之间的接口中,所以采用了模块化技术会使软件容易测试和调试,进而有助于提高软件的可靠性。因而变动往往只涉及少数几个模块,所以模块化能够提高软件的可修改性。模块化也有助于软件开发工程的组织管理,一个复杂的大型程序可以由
15、许多程序员分工编写不同的模块。本软件的主要功能模块可分为如下11个。1. 扫描图层功能模块扫描图层功能模块的功能包括:(1) 将指定图层名的图层内所有实体构成选择集。(2) 将实体名加入到一个表中排队。2. 图层实体名识别功能模块图层实体名识别功能模块功能包括:(1) 问答层中的实体线形是否有除直线、圆弧、圆以外的形式。 (2) 若只有直线、圆弧、圆这三种形式,则判断所绘的直线、圆弧、圆是否与答案层的直线、圆弧、圆相同。(3) 若还有其他的形式的线或者实体出现则出现警告信息:不要定义多段线和块等其它实体。(4) 判断问答层的直线、圆弧、圆是否与答案层的直线圆弧圆是否相同时,则要进行错误次数的统
16、计,若错误次数为零则告诉此题做对,若错误次数非零则给出出错信息。3. 线条数目判断功能模块线条数目判断功能模块的功能分析如下几点:(1) 统计问答层实体的数量和统计答案层实体的数量。(2) 问答层实体数量可能为零也可能与答案层的数量不相等,若问答层实体数量为零则出现提示:告诉什么也没有做。(3) 若问答层实体数目大于,小于答案层实体数目则相应地出现警告信息。(4) 若问答层实体数目等于答案层实体数目则进行实体线形判断。4. 直线判断功能模块直线判断功能模块功能如下:(1) 获取问答层指定直线名的直线的起点和终点的坐标值。(2) 获取答案层的直线的起点和终点的坐标值。(3) 判断问答层指定直线直
17、线名的直线的起点和终点与答案层直线的起点和终点的坐标值是否相同。(4) 若想同则提示:所绘直线即为正确的直线。(5) 若不相同则进行错误次数的统计。5. 圆弧判断功能模块圆弧判断功能模块功能如下:(1) 获取问答层指定圆弧名的圆弧的圆心、半径的坐标值和角的起点和终点坐标值。(2) 获取答案层圆弧的圆心和半径的坐标值和角的起点与终点的坐标值。(3) 判断它们的坐标值是否相等。(4) 若相同则提示:所绘圆弧即为正确的圆弧。(5) 若不相同则进行错误次数的统计。6. 两点坐标相同判断功能模块两点坐标相同判断功能模块的功能如下:(1) 设定误差值。(2) 将两个点的坐标值的差的绝对值与误差值进行大小比
18、较。(3) 若均小于给定的误差值则认为这两个点为同一个点。7. 圆的判断功能模块圆判断功能模块的功能包括:(1) 获取问答层指定圆弧名的圆的圆心、半径的坐标值。(2) 获取答案层圆的圆心和半径的坐标值。(3) 判断它们的坐标值是否相等。(4) 若相同则提示:所绘圆即为正确的圆。(5) 若不相同则进行错误次数的统计。8. 线条闪烁功能模块线条闪烁功能模块的功能如下:(1) 删除指定的线条。(2) 调用一个延时功能模块实现延时功能。(3) 重画指定的线条。9. 延时功能模块延时功能模块的功能如下:通过循环的次数来控制延时的时间,使删除与重画的间隔时间合理刚好能看到线条闪烁。10. 版权检查模块版权
19、检查模块的功能如下:(1) 判断软件是否为正版,若是则执行作业检查功能。(2) 软件非正版则退出制图作业,卸载菜单。11. 警告信息功能模块警告信息功能模块的功能如下:(1) 题做错误指出错误的地方。(2) 题做正确提示做下一道题。(3) 试用次数已到的警告信息。2.4 本章小结本章介绍了基于AutoLISP和AutoCAD的机械制图作业测评软件的总体设计思想、系统总体模块结构,及系统功能模块。该软件的设计思想是,针对教学与学生学习实际需求,开发基于AutoLISP与AutoCAD技术的机械制图作业测评系统,将作图正误的判别、指正、评分等过程交给计算机自动完成,用户绘制好图形后,点击菜单栏的提
20、交作业按钮,计算机便对用户提交的作业进行测评。按照其所实现的总体功能该系统可分为对绘图环境进行设定、版权检查、作业检查3个大模块。系统功能模块可分为扫描图层功能模块、图层实体名识别功能模块、线条数目判断功能模块、直线判断功能模块、圆弧判断功能模块、两点坐标相同判断功能模块、圆的判断功能模块、线条闪烁功能模块、延时功能模块、版权检查模块、警告信息功能模块等11个大的模块。第3章 软件开发环境 3.1 概述软件开发环境(Software Development Environment)是一组相关的软件工具的集合,将它们组织在一起,支持某种软件开发方法。软件开发环境又称之为集成式项目支持环境(Int
21、egrated Project Support Environment)。3.1.1 软件开发环境的特性软件开发环境的具体组成可能千姿百态,但都包含交互系统、工具集和环境数据库,并具备下列特性:(1)可用性:用户友好性、易学、对项目工作人员的实际支持等。(2)自动化程度:在软件开发过程中,对用户所进行的频繁的、耗时的或困难的活动提供自动化的程度。(3)公共性:公共性是指覆盖各种类型用户(如程序员、设计人员、项目经理和质量保证工作人员等)的程度。或者指覆盖软件开发过程中的各种活动(如体系结构设计、程序设计、测试和维护等)的程度。(4)集成化程度:集成化程度是指用户接口一致性和信息共享的程度。(5
22、)适应性:适应性是指环境被定制、剪裁或扩展时符合用户要求的程度。对定制而言,是指环境符合项目的特性、过程或各个用户的爱好等的程度。对剪裁而言,是指提供有效能力的程度。对扩展而言,是指适合改变后的需求的程度。(6)价值:得益和成本的比率。得益是指生产率的增长,产品质量的提高、目标应用开发时间成本的降低等。成本是指投资、开发所需的时间,培训使用人员到一定水平所需要的时间等。3.1.2软件开发环境的结构一般说来,软件开发环境都具有层次式的结构,可分为四层:(1)宿主层:它包括基本宿主硬件和基本宿主软件。(2)核心层:一般包括工具组、环境数据库和会话系统。(3)基本层:一般包括最少限度的一组工具,如编
23、译工具、编辑程序、 调试程序和装配程序等。这些工具都是由核心层来支援的。(4)应用层:以特定的基本层为基础,但可包括一些补充工具,借以更好地支援各种应用软件的研制。3.1.3软件开发工具和环境的关系任何软件的开发工作多是处于某种环境中,软件开发环境的主要组成成分是软件工具。为了提高软件本身的质量和软件开发的生产率,人们开发了不少工具为软件开发服务。例如,最基本的文本编辑程序、编译程序、调试程序和连接程序;进一步还有数据流分析程序、测试覆盖分析程序和配置管理系统等自动化工具。面对众多的工具,开发人员会感到眼花缭乱,难于熟练地使用它们。针对这种情况,从用户的角度考虑,不仅需要有众多的工具来辅助软件
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AutoLISP AutoCAD 机械制图 作业 测评 软件 论文
