第6章机械CADCAM应用软件开发_第1页
第6章机械CADCAM应用软件开发_第2页
第6章机械CADCAM应用软件开发_第3页
第6章机械CADCAM应用软件开发_第4页
第6章机械CADCAM应用软件开发_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章机械CAD/CAM应用软件开发

6.1软件工程基础

6.2机械CAD/CAM应用软件开发原则和步骤

6.3机械CAD应用软件二次开发技术6.1软件工程基础提出背景:是为解决20世纪60年代所出现的软件开发过程不容易控制、开发工作量估算困难、软件质量低、项目失败率高等“软件危机”问题而提出的一种软件产品开发的工程方法。软件工程定义:是指开发、运行、维护和修改软件的系统方法,即制定和采用合理的工程原则,以最低的成本、最短的时间、最好的质量开发出满足用户需求的软件。核心思想:把软件看作是一个工程来处理,把需求计划、可行性研究、工程审核、质量监督等工程化的概念引入到软件产品的开发设计过程,以期达到工程项目的三个基本要素-精度、经费和质量-综合优化。软件生存周期:可行性研究与计划阶段需求分析阶段设计阶段软件编制测试阶段运行与维护阶段测试10%设计15%需求分析5%

维护

67%运行3%软件开发各阶段成本

计划需求分析设计编码测试运行维护软件开发模型1.瀑布模型各项软件工程活动如同瀑布流水,逐级下落,自上而下、相互衔接的固定次序。瀑布式软件开发模型缺陷:无法解决软件需求不明确的问题;严格按照软件开发阶段顺序进行,缺乏灵活性;用户必须等到软件开发后期才能看到软件的全貌;每个开发阶段需要严格审查和确认,后一阶段工作只有等到前一阶段审察结束后才能进行,致使开发工作常常被不必要地耽搁。2.原型模型根据已知需求,快速开发所需软件的原型,然后对软件原型进行评估和测试,进行修改和细化,直至完善为止。需求收集构造原型用户测试运行原型意见反馈原型修改补充完善原型式软件开发模型特点:可以处理模糊需求,开发者与用户充分交流;原型模型系统可作为培训环境,有利于用户培训和开发同步;易于维护,对用户更为友好;总的开发费用低,开发时间缩短。缺陷:易将次要部分当作主要框架,做出不切断的原型;容易忽略用户环境与原型环境的差异;容易放松对软件的开发管理;常常用尽快实现的需要而忽略一些基本点等。3.螺旋模型是瀑布模型与原型模型的有机结合,其开发过程经一次次迭代完成,每迭代一次,软件开发前进一个层次,直到得到用户满意。风险分析工程实施测试分析布用户评估用户交流计划制定螺旋模型螺旋模型一般被分为3-6个任务区域:用户交流:建立开发者与用户交流,不断了解用户确切需要;计划制定:确定软件目标,选定实施方案,分析开发限制条件,定义资源和开发进度;风险分析:分析所选方案,考虑如何识别风险和消除风险;工程实施:进行软件设计,编制软件程序;测试与分析:测试原型系统,分析系统性能指标;用户评估:评价开发工作,提出修正建议。CAD/CAM应用软件开发原则:高素质的软件开发人才,既掌握计算机应用技术,又懂得产品设计,熟悉了解用户的具体需求;所开发的软件应方便用户使用,无需对用户做过多的培训;应尽量使用户少记各种操作规则、专门术语和符号;采用灵活的信息提示;可以容忍的响应时间;良好的出错处理。应按照软件工程方法组织CAD/CAM应用软件的开发。6.2机械CAD/CAM应用软件开发原则和步骤CAD/CAM应用软件开发要求明确对硬件性能指标要求,包括主机速度、存储容量、输入/输出设备等;明确所需的系统软件和软件工具,包括操作系统、编程语言、图形标准等;严格按软件工程的规范执行;制定软件质量保证计划,以确保所开发软件可靠、正确和实用;软件文档的编制应符合文档资料的完整、正确、规范的要求,并力求通俗易懂,避免含糊混淆术语的使用。CAD/CAM应用软件开发步骤可行性研究①可行性论证报告;②初步项目开发计划;③合同书;④软件质量保证计划。需求分析①软件需求说明书;②数据要求说明书;③修改后项目开发计划;④测试计划;⑤初步用户手册;⑥软件配置管理计划。总体设计①总体设计说明书;②数据库/数据结构设计说明书。详细设计①细化总体设计说明书;②对各个程序模块进行过程描述;③确定各个模块间的接口信息;④编写模块开发卷宗;⑤评审。软件编制①模块开发卷宗;②初步操作手册。软件测试①可运行系统源程序清单;②测试分析报告;③用户手册和操作手册;④项目开发总结报告。运行和维护①运行日志;②软件问题报告;③软件修改报告。CAD/CAM应用软件的总体设计主要任务:进行系统功能分析,建立系统功能模型,提出系统主要技术方案。通过功能分析和功能模块的划分,把一个抽象的、复杂的问题分解为若干具体的、功能相对于单一、结构简单的功能子模块,从而降低了系统的复杂程度,便于系统的开发。例如P156图6-5减速器CAD系统的功能模型。为了使软件系统各模块之间具有高的内聚度和低的耦合度,在进行功能模块划分时应遵循如下原则:保持各模块相对独立原则;“模块内联系大、模块间联系小”原则;层次性模块化结构CAD/CAM应用软件的详细设计其目的为:对总体设计阶段的模块功能要求提出具体、明确的解决实现方法。主要包括如下各方面:建立数学模型和具体算法;工程设计数据、资料的处理;数据结构设计;数据输入/输出过程中的人机交互方式设计。6.3CAD应用软件二次开发技术CAD应用软件二次开发环境与工具利用计算机高级语言开发,如VC、VB等;以商用CAD/CAM系统作为基础平台,利用其开发工具进行CAD应用软件的二次开发。构造面向CAD开发的CASE(ComputerAidedSoftwareEngineering,计算机辅助软件工程)环境。AutoCAD二次开发工具:AutoCAD具有开放的体系结构和先进的ACIS图形造型内核,是应用最广泛的交互式辅助设计系统,提供了丰富的开发环境。1、

AutoLISP/VisualLISPAutoLISP:具有直观、方便、程序文件小、通用性强、易掌握特点,但运行速度慢、保密性差等不足。VisualLISP:可视化开发工具,克服了AutoLISP不足。装载运行步骤:

激活VisualLISP文本编辑器窗口,进行程序编辑;点击Run工具条按钮,提示“程序已经被装载”信息;在控制台提示处输入带有括号的AutoLISP程序名,便开始运行该程序。通过菜单File→Exit或窗口关闭按钮退出。编辑器跟踪窗控制台状态行菜单区工具栏

VisualLISP工作界面ADS(AdvancedDevelopmentSystem)

是自AutoCADR11版所提供的一种C语言开发工具,提供了一套应用程序接口API,可使用丰富的C语言函数库,能够完成一些AutoLISP无法完成的任务,运行速度明显提高。

ADS实质是AutoLISP一种C语言版本,需要通过AutoLISP与AutoCAD通讯来运行自身应用程序,不能脱离AutoLISP环境独立运行。

ObjectARX(AutoCADRuntimeeXtension)

是自AutoCADR13版所提供的面向对象VC++语言开发工具,是第三代用户开发工具。

ARX采用面向对象技术,直接访问AutoCAD数据库,独立进行应用软件开发,是对AutoCAD的实时扩展。

ARX应用程序实质为Windows动态连接库(DLL),可共享AutoCAD进程和内存空间,可以与AutoCAD直接通信,允许直接访问AutoCAD图形库。

ARX所需环境包括:支持ARX和AutoCAD平台的操作系统、VC++语言编译系统、ObjectARX所提供的开发软件包SDK等。

VBA(VisualBasicforApplicationprogrammingenvironment)提供VB语言开发ADS应用程序的接口VBA,丰富了AutoCAD二次开发手段。这些接口文件成为AutoCAD的一个标准安装组建。AutoLISP编程技术AutoLISP是一种由一对对圆括号构造的表处理结构,可多层嵌套,采用“前缀表示法”。通用格式为:

(函数名参数)例如:数学表达式:X=(A+B)*CAutoLISP赋值函数:(setqX(*(+AB)C))表元素可为整数、实数、字符串、表、图元名、符号和变量等多种数据类型。常用AutoLISP函数有:计算函数、关系运算与逻辑运算函数、字符处理函数、命令函数、表处理函数、条件循环函数、文件处理函数、输入/输出函数、自定义函数等。

类型函数功能计算函数(+<数1><数2>…)返回所有数的和(-<数1><数2>…)返回<数1>与后面所有数的差(*<数1><数2>…)返回所有数的乘积(/<数1><数2>)返回<数1>除以<数2>的商(minusp<数>)检查<数>是否为负数,若为负数,返回T,否则返回nil(zerop<数>)检查<数>是否为零,若为零,返回T,否则返回nil(1+<数>)返回<数>加1后的值,注意1与+之间不能有空格(1-<数>)返回<数>减1后的值,注意1与-之间不能有空格(abs<数>)返回<数>的绝对值(sin<角度>)返回<角度>的正弦值,<角度>单位为弧度(cos<角度>)返回<角度>的余弦值,<角度>单位为弧度(atan<数1><数2>)若无<数2>,返回<数1>的反正切,单位为弧度;若有<数2>,返回<数1>/<数2>的反正切;若<数2>为零,返回例:已知一板长L,宽为B,若在其上截取直径为B的圆形板料,画出排料图。(defunc:div()(setqp0(getpoint“BasePoint\n”))(setqL(getreal“L=”))(setqB(getreal“B=”))(setqR(*B0.5))(setqp1(polar(polarp00L)1.5708B))(command“rectangle”p0p1)(setqnum(fix(/LB))a0)(setqp2(polar(polarp01.5708R)0R));(while(<anum)(setqp2(polarp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论