ImageVerifierCode 换一换
格式:DOC , 页数:43 ,大小:289.50KB ,
资源ID:834469      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-834469.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于AutoLISP和AutoCAD的机械制图作业测评软件论文.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

基于AutoLISP和AutoCAD的机械制图作业测评软件论文.doc

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软件开发工具和环境的关系任何软件的开发工作多是处于某种环境中,软件开发环境的主要组成成分是软件工具。为了提高软件本身的质量和软件开发的生产率,人们开发了不少工具为软件开发服务。例如,最基本的文本编辑程序、编译程序、调试程序和连接程序;进一步还有数据流分析程序、测试覆盖分析程序和配置管理系统等自动化工具。面对众多的工具,开发人员会感到眼花缭乱,难于熟练地使用它们。针对这种情况,从用户的角度考虑,不仅需要有众多的工具来辅助软件

24、的开发,还希望它们能有一个统一的界面,以便于掌握和使用,另外,从提高工具之间信息传递的角度来考虑,希望对共享的信息能有一个统一的内部结构,并且存放在一个信息库中,以便于各个工具去存取。因此,软件开发环境的基本组成有三个部分:交互系统、工具集、环境数据库。软件工具在软件开发环境中已不是各自封闭和分离的了,而是以综合、一致和整体连贯的形式来支持软件的开发,它们是与各种软件开发方法或者与某种软件加工模式相适应的。3.1.4软件开发环境的分类目前世界上已有近百个大小不同的程序设计环境系统在使用,这些环境系统相互之间的差别很大。根据各种软件环境的特点,软件开发环境的类型有如下几种:(1)按研制目标分类:

25、针对各个不同应用领域的程序设计环境,如开发环境、项目管理环境、质量保证环境和维护环境等。(2)按环境结构来分类:基于语言的环境,基于操作系统的环境和基于方法论的环境。(3)按工作模式分类:交互式软件环境,批处理软件开发环境和个人分布式的环境等。3.2 LISP语言概述LISP语言是人工智能领域广泛应用的一种程序设计语言,只一种计算机的表处理语言,是一种计算机的表处理语言,又称为符号式语言。在LISP语言中,最基本的数据类型是符号表达式。处理符号是LISP语言的特性之一,LISP语言的程序和数据都以符号表达式的形式表示,也就是说,一个LISP程序可以把一个LISP程序作为它的数据处理。AutoL

26、ISP语言是一种嵌入在AutoCAD内部的LISP编程语言,由Autodesk公司在1985年6月发布的AutoCAD R2.17中首次推出,是LISP语言和AutoCAD有机结合的产物。AutoCAD又增加了许多功能。例如,AutoLISP可以方便地调用AutoCAD的绘图命令,使设计和绘图完全融为一体。还可以实现对AutoCAD当前图形数据库的直接访问、修改,为实现对屏幕图形的实时修改、交互设计、参数化设计以及在绘图领域中应用人工智能提供了方便。概括地说,AutoLISP综合了人工智能语言LISP的特性和AutoCAD强大的图形编辑功能的特点,可谓是一种人工智能绘图语言。随着AutoCAD

27、版本的不断更新,AutoLISP的功能也得到了不断完善,但是始终存在一些明显的缺点,例如缺乏集成开发环境;没有面向对象的编程能力;采用解释执行方式运作,程序运行速度慢:无法编译,程序安全性差等。为此,Autodesk公司于1998年3月首次推出新一代可视化LISP语言Visual LISP for AutoCAD R14 ,于1999年3月发行的AutoCAD 2000中内嵌了新版本的VLISPVisual LISP for AutoCAD 2000。AutoLISP是嵌入 AutoCAD 内部的通用 LISP 程序设计语言的子集,但大大大地扩充了图形处理功能,它是一种表处理语言,通过定义函数

28、来实现各种功能,除可以完成通常的科学计算和数据分析外,还能直接调用 AutoCAD 的各项命令,并可直接访询图形数据库,通过修改图形库数据对图形进行操作。AutoLISP是解释性语言,语法灵活简洁,表达能力强,非常容易掌握。国内二次开发人员大多数是通过 AutoLISP 进入开发行列的。不了解 AutoLISP 的人往往有一些误解,认为 AutoLISP语言,精度不够、不能编大系统、不能处理大容量数据、运行速度慢、容易出错等。事实上并非如此, AutoCAD 提供的整数为32 位带符号数,实型数为双精型浮点数,有效位至少 14 位,具有足够的精度。由于 AutoLISP 使用表结构,因此, 一

29、个表中可以包含不同的数据类型,表中可以套表,在一个表中可将一个对象,如梁柱所需的数据全部包括在表中,既便于管理,也加快了处理速度,完全具有处理大容量数据的能力。AutoLISP 程序以函数方式构成,任何大的系统可以分割成不同模块, 用多个函数去实现相应的功能,在 AutoLISP 中函数之间可以相互调用,可以通过主程序加以控制,其结构与 C 语言相似,完全胜任大系统的编程要求。AutoLISP是一种解释性语言,显然速度不如运行代码快,但是 AutoCAD 的应用程序需要同图形打交道,而图形的数据结构本身也是表结构,两种表结构的相互溶合使优势得到充分发挥,因此, 笼统的说 AutoLISP 的速

30、度慢是不全面的,有些情况下,AutoLISP 运行速度还可能高于其它方式开发的程序。尽管 AutoCAD 在未来的版本中要逐步转向 Windows, 但不会抛掉 AutoLISP现在和今后相当一段时间内 AutoLISP 仍然是进入 AutoCAD 开发的台阶。3.3 AutoCAD环境与接口技术3.3.1 AutoCAD运行环境AutoCAD的默认目录结构将程序和支持文件按逻辑关系分组。虽然用户可根据需要修改这种结构,但有些应用程序需要在特定位置查找某些文件。因此,用户进行修改时应避免与这些应用程序的要求相冲突。如果未指定驱动器和目录,AutoCAD只在库搜索路径中查找文件。 1. 库搜索路

31、径当执行AutoCAD的某个命令或执行代码文件中的某一命令时,AutoCAD按照库路径中指定的次序搜索支持的文件,具体搜索过程如下:(1)首先搜索当前目录(2)搜索包含当前图形文件的目录(3)在“选项”对话框中指定的搜索路径(4)包含AutoCAD程序文件的目录2. 目录结构AutoCAD使用树状结构目录和子目录。建议用户将自己定义的文件(如AutoLISP应用程序和菜单文件)与AutoCAD的程序和支持文件存放于不同的目录。这样,在跟踪某个发生冲突的问题或升级某个应用程序时,不会影响其他应用程序。用户可以为自定义的AutoLISP应用程序、菜单文件和其他第三方应用程序创建一个目录。如果需要为

32、相互独立的工作文件维护多个图形文件目录,可以创建一个主目录,然后在该目录下为每项工作创建一个子目录。3. 配置文件为AutoCAD配置输入设备和打印设备后,AutoCAD将配置信息记录在配置文件中,AutoCAD的默认配置文件是acad200*.cfg,存放在AutoCAD的安装目录中,但用户可以指定替换的路径和文件名。4. 命令搜索过程当给AutoCAD输入要执行的命令后,AutoCAD要对所输入命令进行一系列有效性检查。用户输入的命令可以是内部命令,系统变量,acad.pgp文件中定义的外部命令或命令别名,或者是用户定义的AutoLISP命令,也可以由ObjectARX应用程序或设备驱动程

33、序命令来定义。此外,要输入的命令可以在命令行中键入,或从适当的菜单中选择,也可以从脚本文件中或者由AutoLISP或ObjectARX应用程序来输入。下面是AutoCAD验证命令名称的搜索顺序:(1)如果输入空响应(按空格键或回车键),AutoCAD调用上次执行的命令。如果在此之前没有执行过命令,执行HELP命令。(2)AutoCAD先在内置命令表中查找输入的命令名。如果该命令位于内置命令位于内直命令表中且没有前缀句号,AutoCAD将接着在未定义命令表中查找该命令。如果该命令未被定义,则继续搜索;否则执行该命令。(3)AutoCAD检查输入的命令名称是否由设备驱动程序定义,然后再检查命令名是

34、否由显示驱动程序定义。(4)AutoCAD在程序参数文件(acad.pgp)定义的外部命令中查找输入的命令名称。如果命令名称对应一个已经定义的外部命令,则运行该命令,并结束搜索。(5)AutoCAD在由AutoLISP或ObjectARX应用程序定义的命令列表中查找输入的命令名称。自动加载的命令要在此时加载。(6)AutoCAD在系统变量列表中查找输入的命令名称。如果找到该名称,AutoCAD将输入作为变量名,执行SETVAR命令。(7)如果输入的命令名称对应于程序参数文件中定义的命令别名,AutoCAD用该命令的饿全名在内置命令列表中重新搜索。(8)如果前面所有步骤都失败了,则搜索终止,并显

35、示非法命令的警告信息。一个功能完善的CAD系统可能包括很多独立的模块,如设计计算、图形处理、数据管理、校核计算、有限元分析、设计优化、数控代码输出等。一些现成的软件系统往往只是针对某一类问题而设计的,如图形软件(AntoCAD等)有很强的图形生成和编辑能力,有限元分析系统(如 ANSYS等)擅长有限元分析计算,数据库管理系统(如dBASE等)适合于建立和管理数据库,我们可以利用这些现成的资源,作为二次开发的某些功能模块,使这些不同的系统间的数据相互交换,是实现大CAD系统或CADCAM集成的基础性课题之一。3.3.2 AutoCAD接口技术所谓数据转换接口,实际上是一种能够实现两个以上系统间信

36、息交换的程序或方法。数据转换接口的核心内容就是由其中一个系统(文件)读出信息,将信息写入另一个系统(文件)。1图形系统与高级语言的接口图形处理模块是CAD系统最基本的模块,是整个CAD系统显示、编辑和输出设计结果的环境,而高级语言在数值计算、数值分析方面有着无可比拟的优势。当我们要把已经完成的图形文件作进一步处理时,如对零件进行体积、重量或优化设计等计算时,那么,图形系统与高级语言的接口将是问题解决的关键,也就是说,我们必须把图形系统产生的图形文件转换为一种图形系统和高级语言都能识别的文件格式。根据是否通过中性文件,我们把这种接口的方法分为两类:间接型接口,直接型接口。1)间接型接口间接型接口

37、实际上由两部分组成:第一部分接口实现图形系统二进制码图形文件与以 ASC码形式存放的国际标准化图形文件(如IGES文件或DXF文件)之间的相互转换;第二部分接口实现国际标准化图形文件与高级语言图形信息的相互转换。第一部分接口一般是图形系统提供的,如 AutoCAD中的DWG文件与 DXF文件接口,在AutoCAD环境中,执行DXFOUT(或IGESOUT)命令,可将当前DWG格式文件输出转换为一个DXF(或IGES)文件;第二部分接口实现起来是比较容易的,因为国际标准化图形文件的数据格式是公开的,而且是以ASC码形式存放的。第二部分接口的实现实际上就是高级语言对一个己知格式的ASC码文件的读写

38、操作。在具体应用中,也就是由高级语言开发的计算模块对ASC码文件的读写操作,获取图形中的相关数据,经过计算,得到最终结果或把优化设计后的数据写人ASC码文件,以达到修改图形的目的。在AutoCAD环境中,运行DXFIN命令,可将修改后的ASC码文件重新转换成DWG格式文件,得到优化设计后的图形。间接型接口的主要优点是设计简单,可移植性好。其缺点是转换步骤多,转换时间长,转换的实时性差。2)直接型接口直接型接口实际上是高级语言对结构复杂的二进制码图形文件进行的读写操作,该方法要求作者具有很高的文件处理能力,能够正确分析图形文件的数据结构。由于系统图形文件的数据格式一般是保密的,文件又是以二进制码

39、的形式存放,分析起来非常困难。由于不同的图形系统存放图形文件的格式不一样,因此接口的可移植性也差。但是直接型接口较之间接型接口具有转换步骤少,转换时间短,转换实时性好等优点。由于DXF文件与IGES文件是大多数图形系统所支持的,而几乎所有的高级语言都能对ASC Il码文件进行读写操作,因此,上述介绍的间接型接口方法具有通用性。3)生成自动绘图命令文件(*.SCR)在AutoCAD中,还可以利用 SCR文件作为中性文件,由高级语言编程直接生成SCR文件,在AutoCAD中运行SCR文件绘制图形。AutoCAD提供的SCR文件是一种绘图命令集文件,类似操作系统中的批处理文件,可以执行某一预定任务的

40、命令和参数序列。它也是一ASC码文件,在AutoCAD中用“SCRIPT”命令从指定的SCR文件中读出命令组,并执行。SCR文件格式为每一AutoCAD命令占一行,命令与参数用空格隔开,并严格遵循AutoCAD命令应答格式。例如用命令文件画出一边长为一个单位的正方形,然后加以擦除工作,可以编辑生成一名为TESTSCR命令文件来完成。 LINE,1010,1111,1111,1010,10(画出正方形) ERASE L(擦除) 在AutoCAD环境中,键入SCRIPT命令,如: COMAND:SCRIPTJ SCRIPT FILE(DEFAULT)(SCR文件名):TESTJ此时,TESTSCR

41、文件中的命令序列得到执行,绘出图形。可以看出,在AutoCAD中,当需要将计算后的数据生成图形,采用高级语言直接建立SCR文件较之 建立DXF文件或IGES文件更为简洁易懂。2DBF格式数据库与高级语言的接口在CAD系统中,可以借用关系数据库作为CAD软件的数据库。为了在CAD环境下实时地生成、调用和更新数据,需要开发高级语言与数据库的接口。DBF格式的数据库文件是最常用的数据库格式文件之一,它可由多种数据库软件创建,包括dBASE、Foxpro,乃至最新的面向对象的程序设计语言VisuI Foxpro、Delphi等。这种格式的数据库文件与高级语言的接口方法也可分为直接型接口和间接型接口。1

42、)直接型接口所谓直接型接口,就是不依赖于中性文件,由高级语言直接对数据库文件进行读写操作。当然,必须首先分析DBF文件的数据存储格式,也就是DBF文件的数据结构。DBF文件分两部分:文件头部分存储记录的个数,每个记录的字段的个数,字段名等总体信息;文件的主体存储各个记录的内容。接口程序的编制步骤如下:(1)由DBF文件建立线性链表。通过读取DBF文件头,可以知道记录的总体情况,然后分配内存空间,建立相应的数据结构。(2)编制对线性表进行删除、插入、遍历等各种操作的子程序。(3)将修改后的线性表写回DBF文件。2)间接型接口间接型接口就是数据的传递是通过中性文件来实现的。在绝大多数的数据库编程软

43、件中,都有将数据库文件转换为文本文件的功能。文本文件即ASC码文件,是软件系统之间数据交换最基本的文件格式之一。数据转换步骤如下:(1)DBF文件转换为TXT文件以dBASE为例,在dBASE中,可用“下述命令将DBF数据库文件内容输出到一文本文件中。COPY TO(文件名)FOR 表达式FIELD 字段名表SDFDELIMITED若在COPY命令中选用了选择项SDF或DELIMITED时,则产生一个文本文件。文件中的数据可以是当前数据库文件的部分数据或全部数据,取决于命令行中其它选择项的使用,系统会自动再此类文件名后加上扩展名TXT。这两个选择项的区别在于:用SDF产生的是标准格式的数据文件

44、,用DELIMITED产生的是通用格式的数据文件。标准数据格式是:每一个记录定长;记录从文件头开始存放;每一个记录用回车换行结柬;各记录中的同一数据项的长度及类型都相同,不足的用空格补充。通用数据格式是:数据项与数据项之间用逗号分开;字符型数据或逻辑型数据用单、双引号或其它限制符括起来;数字型数据不加任何限制符;记录可以定长,也可以不定长;在每个记录后面用回车换行结柬。(2)将TXT文件中的数据加人到DBF文件中在dBASE环境下,利用APPEND命令可以把其它外部软件建立的扩展名为TXT文件中的数据转移到数据库文件中。传递数据的要求是数据格式要匹配。命令如下:APPEND FROM文件名FO

45、R 表达式SDFDELIMITED命令行中文件名所指出的文件为提供数据的文件(简称施主);当前被打开的数据库文件为接受数据的文件(简称受主)。如果指出了选择项SDF或DELIMITED,可以实现数据文件(.TXT文件)中的数据按规定的格式转移。特别需要指出的是,由于数据文件没有结构,所以数据是按位置转移的,这时要注意施主和受主在同一位置上的数据类型要一致,也就是说,若受主的第一个字段是材料,则施主在相应位置上也应该是与材料有关的数据。概括的说,这种数据转换的过程如下:将数据库文件内容输出到文本文件;外部软件从文本文件中读取数据或对其进行处理;将文本文件中的数据输入到数据库文件中。3)数据库与面

46、向对象编程语言的接口 随着软件技术的发展,在出现了面向对象编程的高级语言后,数据库与高级语言的接口问题似乎得到了完美的解决。在最新出现的面向对象编程的语言如:Visul BASIC、Delphi中,已将数据库的操作完全融合进程序设计中,也就是说,这一类的编程语言既继承了以前高级语言的全部功能,又具备了数据库编程的能力。用该类编程语言操作数据库文件,无需分析数据库文件的存储格式,在读写数据库内容上有了更大的灵活性,在程序设计中,只需在FORM(面向对象程序设计中程序界面的一个窗口)中加人数据源、数据库表、数据显示表格、数据库操作控制器等少许几个控件,然后将数据库表与相应的数据库文件相连接,便可在

47、程序中随意操作数据库文件,因为对于连接并打开的数据库,每一个字段在程序中都是作为一个字段变量,可随意读写字段值。更值得称道的是,该类编程语言通过配备的数据库引擎,可以对多种格式的数据库文件进行操作。在开发数据管理与计算一体的CAD系统中,使用该类编程语言将是最佳选择。第 4章 程序设计程序设计的关键任务是确定怎样具体地实现所要求的目标系统,也就是要设计出程序的“蓝图”。除了应该保证程序的可靠性之外,使将来编写出的程序的可读性好,容易理解,容易测试和容易修改,维护是程序设计的最重要的目标。程序流程图、盒图、PAD图、HIPO图、判定表、判定树和PDL语言等等都是完成详细设计的工具,选择合适的工具并且正确的使用它们是十分重要的。用模块开发文件夹的形式组织管理与一个模块有关的全部文档,可能为行之有效的方法。详细设计又称过程设计,在总体设计阶段,已经确定了软件系统的总体结构,给出系统中各个组成模块的功能和模块间的关系。详细设计就是要在总体设计的基础上,考虑“怎样实现”这个软件系统,直到对系统中的每个模块给出足够详细的过程性描述。需要指出,这些描述应该用详细设计的表达工具来表示,但他们还不是程序,一般不能够在计算机上运行。 详细设计是编码的先导。这个阶段所产生的设计文档的质量,将直接影响下一阶段程序的质量。为了提高文档的质量和可读性

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922