1、4.2.14.2.1机械机械CAD/CAMCAD/CAM软件开发的意义软件开发的意义4.2.24.2.2机械机械CAD/CAMCAD/CAM软件开发的原则软件开发的原则 4.2.34.2.3机械机械CAD/CAMCAD/CAM软件开发方法软件开发方法4.2 4.2 机械机械CAD/CAMCAD/CAM应用软件开发应用软件开发4.2.1 机械C A D/C A M软件开发的意义4.2 机械C A Dv一般商品化CAD/CAM软件系统,为了扩大使用的范围,往往强调系统的通用性,软件系统自身的适应性,导致系统运行效率的降低。v不同类型企业生产的产品和要求千差万别,软件系统开发者要想完全满足各种行业的
2、特殊要求是不可能的。v针对具体产品的应用软件往往包含大量的技术和商业秘密,一般很少对外出售,即使能够买到,价格也是相当昂贵。因此,生产企业在购置了通用性商品化因此,生产企业在购置了通用性商品化CAD/CAM软件系统软件系统之后,还必须针对自身的特点和需要做进一步开发,即二次开发;之后,还必须针对自身的特点和需要做进一步开发,即二次开发;这样,系统的运行效率才能进一步提高,系统功能才能得到充分这样,系统的运行效率才能进一步提高,系统功能才能得到充分的发挥。的发挥。4.2.1 4.2.1 机械机械CAD/CAMCAD/CAM软件二次开发的意义软件二次开发的意义 一般商品化C A D/C A M软件
3、系统,为了扩大使用的范围,往往强机械机械CAD/CAMCAD/CAM软件二次开发的内容软件二次开发的内容(1)完善图形处理功能。(2)建立产品开发数据库。(3)建立产品图形库。(4)建立方法库。(5)建立知识库。(6)建立方案设计报价系统。(7)建立总体整机设计、部件(模块)设计、零件设计系统,以及电器、液压(气动)、电子控制系统设计系统。(8)建立工程信息管理系统。对全部工程数据进行管理、使用、维护,及产品文档、明细表生成系统。(9)建立与工厂其他系统(CAPP、CAM、MRPII等)的接口。一般支撑系统已提供图形处理功能,根据实用,可能要做一些修改和补充,如图框,标题栏,标题栏位置,线型,
4、字体符号代号,明细表等。优化设计方法;有限元分析;可靠性分析;相似性分析,模块设计分析;功能成本分析;其他决策方法分析。用人工智能、专家系统构架工具,总结企业对产品开发、设计经验,建立专业性的知识库。机械C A D/C A M软件二次开发的内容(1)完善图形处理功能。4.2.2 CAD/CAM应用软件开发的原则应用软件开发的原则高素质的软件开发人才。所开发的软件应方便用户使用,无需对用户做过多的训练工作。应使用户尽量少记各种操作规则、专门术语相符号。采用灵活的提示信息。可以容忍的响应时间。良好的出错处理。按照软件工程方法组织应用软件的开发,保证软件的正确可靠,易于软件的使用和维护。4.2.2
5、C A D/C A M应用软件开发的原则高素质的软件开4.2.34.2.3机械机械CAD/CAMCAD/CAM软件二次开发的方法软件二次开发的方法(1)遵循应用系统开发的方法。(2)制定二次开发的计划并组织实施。由于二次开发工作量大,有一定的开发周期。(3)通用、基础性的数据库、图形库,方法库,能从市场上或外单位引进的应尽可能引进,以缩短开发周期。(4)建立企业数据库、图形库时充分利用成组技术的原理与方法,按相似性实现产品设计的标准化、规范化、模块化。(5)在开发过程中对技术成熟的、应用频度高的应组织力量集中开发,以便早日投入使用,对于难度大使用率不高的可以逐步进行。(6)在开发过程中要尽可能
6、地应用国际标准、国家标推和行业标准。(7)开发工作与人员培训相结合,开发工作需要有经验的设计人员,也要有懂计算机的技术人员,通过实际开发,培训一支既懂产品设计又懂CAD/CAM技术的应用开发队伍,成为企业重要开发力量。(8)开发与应用相结合4.2.3 机械C A D/C A M软件二次开发的方法(1)遵循应用一、一、CAD/CAM应用软件开发的基本要求应用软件开发的基本要求v硬件支撑环境的要求v系统软件和工具软件的要求v开发过程的要求v保证软件开发质量v软件文档完整、正确、规范、通俗一、C A D/C A M应用软件开发的基本要求硬件支撑环境的要求二、二、CAD/CAM应用软件的开发步骤应用软
7、件的开发步骤(1)可行性分析可行性分析 分析系统在计算机上实现设计的可能性,从本单位的设备、资金、人力上分析是否能够完成系统的研制。(2)需求分析需求分析 明确软件开发的目标和要求,确定软件开发运行环境,选用合适的开发工具,得到经过用户确认的系统逻辑模型。(3)总体设计总体设计 通过分析和设计,确定系统的总体结构,模块间的关系,接口,进行数据结构设计。(4)详细设计详细设计 主要是确定算法,为编写程序作具体准备。(5)软件编制软件编制 用高级语言或汇编语言实现前面各阶段的设计。(6)软件测试软件测试 对各软件模块进行组装测试和确认测试,检验软件系统是否达到预定要求,提交用户手册和操作手册。(7
8、运行和维护运行和维护 对投入运行后的软件不断进行跟踪修改,实现功能的扩充和性能的改善。二、C A D/C A M应用软件的开发步骤(1)可行性分析 分析三三、总体设计总体设计任务:总体设计任务:进行系统功能分析,建立系统功能模型,提出系统主要技术方案,把抽象、负责的问题分解为若干具体的、功能相对单一、结构简单的功能子模块,同时确定模块间数据的流通途径。系统功能模型的建立方法:系统功能模型的建立方法:自顶向下设计法,即按层次关系将系统功能逐渐分解,直到子功能不宜再分为止。最上层为主控功能模块主控功能模块,反映系统的总体功能;最底层的功能块只完成一个独立的具体而明确的功能,称作功能元功能元。(特点
9、)三、总体设计总体设计任务:进行系统功能分析,建立系统功能模型减速器CAD系统的功能模型功能元主控模块减速器C A D 系统的功能模型功能元主控模块模块之模块之数据的流通途径数据的流通途径 设计系统的结构图时,还要分析系统运行时数据的流通,设计好与系统外部数据输入、输出的次序和途径。系统内模块之间的数据传送、交换方法般有:1)通过内存公共区。2)子程序的数据接口,即哑实元结合。3)外存设备如磁盘上数据文件。即一个程序段将计算结果写入此文件,然后,另一个程序段读此文件取得数据。当一个系统的数据流通较为复杂时,最好是在图上标注出数据的流向。模块之数据的流通途径 设计系统的结构图时,还要分析系统四、
10、详细设计 详细设计的目的是使每一个模块的功能更具体、明确、并提出实现功能的方法。(1)建立数学模型 (2)算法设计 (3)确定手册数据和资料的处理方法 (4)模块数据结构设计 (5)组织好数据信息的输入与输出四、详细设计 详细设计的目的是使每一个模块的功能更具体(1)使问题模型化(数学模型)计算机程序是通过数值运算和逻辑运算来解决问题的。因此,需把求解的问题归纳为明确的数学问题,即数学模型,也就是用数学计算式描述求解的问题。例如,工程设计中的受力分析、强度、刚度、几何计算等都已经有现成的公认的计算公式,在教科书和设计手册中均可找到,可以直接引用,或者作一些整理以便编排程序。对于某些问题如没有现
11、成的计算公式,设计者就得要用较多的时间,从理论上研究、推导或通过实验,或者根据统计来寻求出反映问题实质的数学模型。一个系统、一台机器或一个零件的结构可以用一些参数来完全确定。一组完全确定的机器的结构参数便为该机器的设计变量。设计变量的取法不是唯一的,选取设计变量时、应具体问题具体分析。(1)使问题模型化(数学模型)计算机程序是通过数值运(2)算法设计 算法通常是包含在一个程序段内所要进行的连续处理的步骤,它对输入数据进行处理,并将结果输出,这个处理步骤即是一个算法。一般用流程图来表明算法的过程,并采用结构化程序设计方法画出流程图。由于流程图非常直观,外行人也能看懂,所以常用于交流和讨论。画流程
12、图时,对计算内容的说明应尽量写得明白易懂,采用的符号应与下一步编程序中使用的变量、数组名一致。所以此时要编写一个符号名表,定义出使用的全部变量和数组名。编写程序是以流程图作依据,对程序的结构只使用三种基本逻辑控制结构来编写程序。(2)算法设计 算法通常是包含在一个程序段内所要进行的(3)模块数据结构设计 设计过程中的数据在计算机中如何存储、管理和操作是CAD系统开发中一个十分重要的问题。它对系统的性能、效率以及解决问题题的算法和过程都有着很大的影响。CAD系统中涉及的数据量非常大。数据的类型也比较多,不能仅仅采用简单变量或数组来表示。根据系统的复杂程度可以来用线性链表、树、图等复杂的数据结构。
13、(3)模块数据结构设计 设计过程中的数据在计算机中如何(4)组织好数据信息的输入与输出 程序中输人与输出部分的效果是评价程序设计得好与不好的指标之一。要做到使不懂程序设计的人也会使用设计系统。要确定输入那些数据以及输入方法和输入顺序。输入应尽量避免使用键盘输入大量数据。根据使用要求来确定输出那些数据信息,并确定好输出的格式。输出的数据信息要易于阅读和使用,或稍加说明就能明白。还应允许用户对设计结构提出修改并进行相应的操作处理。在系统输入输出时应考虑到系统的容错能力,能及时对用户的输入输出数据进行检查。(4)组织好数据信息的输入与输出 程序中输人与输出部分建立产品开发数据库1)基础通用数据库、标
14、准系数、尺寸公差、配合、形位公差、表面粗糙度数据及其符号、代号。2)专业用符号、代号,包括电器、电子、气动、液压、管路、焊接、加工装配等符号、代号。3)常用材料数据库,原料、材料的名称、代号、标准号、性能、规格等;4)产品标准及技术规范、己颁布的国标、行标及有关国际标准;5)设计专业数据,机械强度、振动、摩擦、腐蚀、电磁、气动、液压等数据;6)制造工艺数据,铸造、锻造、冲压、剪切、焊接、切削、热处理等数据;7)企业工艺装备,各种加工制造设计及重要工装的参数、性能。建立产品开发数据库1)基础通用数据库、标准系数、尺寸公差、配建立产品图形库 结构要素特征,包括螺纹、键、花键、齿形、槽(键槽、密封槽
15、、退刀槽、燕尾槽、T形槽等)、圆弧、球、倒角、倒圆、导轨、孔、孔系等。通用零件,支承、防护、操作、控制、紧固、连接、液压、气动、润滑、定位、导向、传动类中的盘、套、袖、齿、螺纹、板、条、块等形状的零件。标准件,各种国标、行标或国际标准的零部件。机电配套类,轴承、电机、电器、电子、原件、线缆、仪器、仪表、液压、气动、润滑、五金、化工等;部件、模块,包括本企业的通用部件或模块。典型产品的基础构件。典型产品的整体模型。建立产品图形库 结构要素特征,包括螺纹、键、花键、齿形、槽(自顶向下设计法的特点1)整个系统的全部计算及相互关系有一个清晰的表示,一看便明白。2)模块的功能明确,而且单一,程序的语句就
16、少,容易编写。3)因为程序短又能够独立编译,所以调试和修改程序就方便。4)可利用一些模块装配出较高一层的新功能块。好像搭积木一样。用户使用模块时不必关心它的算法和内部结构,只需知道输人与输出就可应用。5)设计得对任务心中有数,觉得比较容易下手去做。在做总体设计时,一般都要画出设计对象的模型,即设计方案要求,这和手工做设计时画设计方案图是一样的。自顶向下设计法的特点1)整个系统的全部计算及相互关系有一个CAD/CAM应用软件的基本要求应用软件的基本要求 正确性正确性实现设计确定的功能,性能优良,结果正确;可靠性可靠性软件在各种条件下反复测试,出错的概率小于规定的指标;简明性简明性程序简明易读,模
17、块化结构化好,接口简单清晰;易维护性易维护性可以方便实现对CAD/CAM软件的校正和完善维护。C A D/C A M应用软件的基本要求 正确性实现设计确定的功 得到的块图,表明了组成程序系统的结构图。结构图的作用是指明程序系统由哪些功能块组成,它们可分成群、组、分支等。结构图通常是树结构,即一个模块只被一个高于它的模块调用,所以是层次结构。也有网状结构的情况,即一个模块由多于一个较高层次的模块调用。编写程序时一个模块就是一个子程序。设计程序应尽量使更多的模块与一个具体的设计任务无关,这样使它成为通用或较为通用,可以被其他的设计任务调用。自顶向下设计法特点自顶向下的设计方法 得到的块图,表明了组成程序系统的结构图。结构图的作用一、程序系统分析 在程序系统分析阶段要做以下上作:(1)分析任务分析任务 了解该任务的设计流程,设计的初始条件和约束条件是哪些,它的设计计算内容及对图样的要求,以及使用哪些资料、数据等。(2)确定要求确定要求 确定设计系统的总功能,明确输入条件和输出内容。确定设计系统采用哪一种类型系统。(3)可行性分析可行性分析 原有的设计计算过程和设计要求是否有改变的地方,例如应用优化方法进行设计等。(4)写出技术报告写出技术报告 作出概要报告,说明任务名称,设计系统的功能及组成,研制计划和进度,需要的费用,研制人员组成等。一、程序系统分析 在程序系统分析阶段要做以下上作: