《CAD软件开发基础解析优秀PPT.ppt》由会员分享,可在线阅读,更多相关《CAD软件开发基础解析优秀PPT.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 重庆理工高校 汽车学院 机械基础教研室第1讲 CAD软件开发基础 一、为什么要开发一、为什么要开发CAD专用软件专用软件 随着计算机在工程领域的广泛应用,随着计算机在工程领域的广泛应用,CAD软件的需求量与软件的需求量与日俱增,尤其是适合于生产实际的日俱增,尤其是适合于生产实际的CAD专用软件。市场上专用软件。市场上有很多商品化的有很多商品化的CAD软件,在这些软件中,除少数是由专软件,在这些软件中,除少数是由专业单位针对本行业的运用条件开发的应用软件外,绝大多数业单位针对本行业的运用条件开发的应用软件外,绝大多数软件都是由软件公司开发的通用性软件都是由软件公司开发的通用性CAD支撑软件,如
2、支撑软件,如AutoCAD、UG等。等。在应用这些软件的过程中,我们照旧会感到不便利,在应用这些软件的过程中,我们照旧会感到不便利,譬如:特定曲线、常用机械零件的绘制,设计数譬如:特定曲线、常用机械零件的绘制,设计数据的查询,设计公式的应用等。因此,设计人员据的查询,设计公式的应用等。因此,设计人员应依据本单位的实际状况,在已有应依据本单位的实际状况,在已有CAD软件的基软件的基础上进行二次开发,以扩充其好用的功能。础上进行二次开发,以扩充其好用的功能。上一页下一页结 束 首先依据本单位的产品开发与设计要求,列出总体设计,零部首先依据本单位的产品开发与设计要求,列出总体设计,零部件设计,结构分
3、析,参数化绘图,设计资料数据库与标准件图形件设计,结构分析,参数化绘图,设计资料数据库与标准件图形库等内容。然后依照所选通用库等内容。然后依照所选通用CAD软件能否满足要求的状况,确软件能否满足要求的状况,确定软件二次开发的内容。这些内容也可以抽象地归纳为:数据查定软件二次开发的内容。这些内容也可以抽象地归纳为:数据查询与输入,设计计算、图形处理三部分。包含上述要求的询与输入,设计计算、图形处理三部分。包含上述要求的CAD专专用软件,通常都具有以下特点:用软件,通常都具有以下特点:1)集数据查询、计算、绘图于一身)集数据查询、计算、绘图于一身2)用户界面友好,具有较好的人机交互功能)用户界面友
4、好,具有较好的人机交互功能3)简便、好用。)简便、好用。上一页下一页结 束(1)正确性:满足功能要求,结果正确;)正确性:满足功能要求,结果正确;(2)牢靠性:运行正常,容错性好;)牢靠性:运行正常,容错性好;(3)完整性:程序和文档资料齐全;)完整性:程序和文档资料齐全;(4)好用性:界面友好,操作简便,好用;)好用性:界面友好,操作简便,好用;(5)可维护性:便于修改、扩充。)可维护性:便于修改、扩充。上一页下一页结 束 美国电气与电子工程师协会(美国电气与电子工程师协会(IEEE)在)在1976年就着手制定软件工程标准,并于年就着手制定软件工程标准,并于80年年头初公布实施。我国在头初公
5、布实施。我国在80年头初由航空部领年头初由航空部领先成立了软件工程化小组,制定出了一套软先成立了软件工程化小组,制定出了一套软件工程标准和规范,在部内试行。在件工程标准和规范,在部内试行。在1983年年才正式将此标准列入国家标准中,并于才正式将此标准列入国家标准中,并于80年年头末颁布实施。头末颁布实施。上一页下一页结 束(1)计算机软件开发规范()计算机软件开发规范(GB8566-88););(2)计算机软件产品开发文件文件编制指南)计算机软件产品开发文件文件编制指南 (GB8567-88)(3)计算机软件需求说明编制指南()计算机软件需求说明编制指南(GB9385-88)(4)计算机软件测
6、试文件编制规范()计算机软件测试文件编制规范(GB9386-88)(5)计算机软件质量保证支配规范)计算机软件质量保证支配规范(GB/T12504-90)(6)计算机软件配置管理支配规范)计算机软件配置管理支配规范(GB/T12505-90)(7)软件工程术语()软件工程术语(GB/T 11457)。)。在机械设计过程中,常常须要引用有关的数据资料,如阅历数表、试验曲线、各种标准和规范等。在传统的设计中,这些数据资料通常是以设计手册或工具书的形式供应的。而在计算机帮助设计时,就必需将这些数据资料作相应的处理,以便程序运行时计算机能依据设计要求自动检索和调用,这就是所谓的数据资料程序化的问题。上
7、一页下一页结 束四.工程数据的计算机处理1)将数表和线图数据以方程、数组或数表的形式干脆编在程序中,即所谓的数据程序化;2)将数表和线图数据编制成一个个独立的数据文件,供程序运行时调用;3)将数表和线图数据建成数据库,以便于检索和管理。4)将数表和线图做成图片或幻灯片,须要时打开干脆查取。上一页下一页结 束计算机对数表和线图的处理有如下四种方法数表有一维数表、二维数表。在机械设计中的数表多属于二维数表,如带传动工作状况系数表:上一页下一页结 束 4-1 数表的程序化 处理这类数据可接受数组,如K(I,J)。最为简洁的是找出其规律,用一个公式来描述。如:KA=1+0.1(K1+K2),其中原动机
8、工况K1取值为0、1、2,工作机工况K2取值为0、1、2、3。例1、带传动工作状况系数KA的确定:上一页下一页结 束(defun KAtest()(initget 5 0 1 2)(setq K1(getkword“n原动机工况:0-10h:)(initget 5 0 1 2 3)(setq K2(getkword“n工作机工况:0-载荷变动微小,1-变动小,2-变动较大,3-变动很大)(setq k1(read k1)k2(read k2)(setq KA(+1 (*0.1 (+k1 k2)(princ nKA=)(princ KA)(princ);end上一页下一页结 束将前式(setq
9、KA(+1 (*0.1 (+k1 k2)变为:(setq KA(cond(=k1 0)(nth k2(1 1.1 1.2 1.3)(=k1 1)(nth k2(1.1 1.2 1.3 1.4)(=k1 2)(nth k2(1.2 1.3 1.4 1.5)其效果是一样的,不同的是没有接受公式,而是干脆用的数表,且用条件函数通过K1、K2来检索数据。上一页下一页结 束 若利用BASIC语言编程检索,则程序如下:DIM K(4,3)FOR I=1 TO 4 FOR J=1 TO 3 READ K(I,J)NEXT J,I DATA 1,1.1,1.2,1.1,1.2,1.3,1.2,1.3,1.4,
10、1.3,1.4,1.5 INPUT I,J PRINT“KA=“;K(I,J)END这里接受了二维数组,如K(2,3)=1.3上一页下一页结 束 例2:V带的基准长度系列及长度系数KL的确定 (见机械设计P146表8-2)编程检索如下:先建立基准长度和长度系数的数表。上一页下一页结 束 检索时依据初算的基准长度Ld1在数表Ldb中确定出最接近的Ld,再定出相应的长度系数KL。上一页下一页结 束 在机械设计手册中,常常要用到表示各参数间关系的线图。编制程序时必需将线图程序化。程序化的方法有两种:其一是将线图公式化,其二是将线图数表化。例如:V带传动中,带型号的选择就是通过线图来实现的。上一页下一
11、页结 束 4-2 线图的程序化上一页下一页结 束依据计算功率Pca及小带轮转速n1由下图选定带型l依据计算功率Pca和主动轮转速n1,选择V带型号的线图有如下关系:一、直线图的公式化上一页下一页结 束l(defun dxh(p n)l (setq paa(1 1 1 1 1.7 3 8.1 22 50)lnaa(780 480 200 100 100 100 100 100 100)lpbb(3.8 5 8 10 14 20 40 100 170)lnbb(3150 2500 2000 1250 1100 950 640 600 500)l(setq dd1(50 63 71 80 90 10
12、0 80 85 90 95 100 l 112 118 125 132 140 125 132 140l 160 170 180 200 l 200 212 224 236 250 265 280 315”l 355 375 400 500)于是,依据已知的P和n,可以编写选择V带型号的程序如下:上一页下一页结 束续 前l (setq i-1 nk 5000);循环搜寻区域l (while(p pb)(n nb)(setq nk(-n 10)l );while上一页下一页结 束续 前l ;检索带型号及其相应的小带轮基准直径l (setq dx(nth i(Z Z A A B B C D E)l
13、 (setq d1(nth i dd1)l (princ nDXH=)l (princ dx)l (princ nd1=)l (princ d1)l (princ)l )上一页下一页结 束 对于一些曲线线图或由曲线表示的近似数据,同样可将其数表化或公式化。常用的方法有插值法和最小二乘拟合法。插值法的基本思想是:设法构造一个简洁的函数y=p(x),作为曲线函数f(x)的近似表达式,然后计算p(x)的值以得到f(x)的近似值。使得:上一页下一页结 束 二、曲线线图的公式化 即两点插值。已知插值点P的相邻两点:y1=f(x1),y2=f(x2),如图所示。可近似认为在此区间函数呈线性变更,插值点P对
14、应于 x的函数值为:上一页下一页结 束 1)线性插值编程时,只要将节点数据和插值公式编制其中,就可在输入一个x后,计算出相应的y值。例、包角系数K的确定(见机械设计P155表8-5):上一页下一页结 束 线性插值应用举例 线性插值的误差较大,为了提高插值精度,可接受多点插值。若插值节点取n,则拉格朗日插值多项式的一般表达式为:上一页下一页结 束 2)拉格朗日插值当插值节点取n=3时,得到二次插值多项式,即抛物线插值。上一页下一页结 束 拉格朗日插值编程应用举例:这是一个通用程序,其中数表xi,yi中的数据可以依据具体状况更换。该例中的数据取自机械设计教材p194动载系数8级精度曲线。(defu
15、n fx(x)(defun fx(x)(setq xi(0.0 5.0 10.0 15.0 20.0 25.0 30.0)(setq xi(0.0 5.0 10.0 15.0 20.0 25.0 30.0)yi(1.0 1.2 1.27 1.32 1.36 1.4 1.43)yi(1.0 1.2 1.27 1.32 1.36 1.4 1.43)(setq i 0 j 0 y 0 ajx 1.0)(setq i 0 j 0 y 0 ajx 1.0)(setq n(length xi)(setq n(length xi)上一页下一页结 束 续前 (while(j n)(setq xj(nth j
16、xi)(while(j n)(setq xj(nth j xi)(while(i n)(while(i n)(setq x_xi(-x(nth i xi)(setq x_xi(-x(nth i xi)xi_xn(-xj(nth i xi)xi_xn(-xj(nth i xi)(if(/=j i)(if(/=j i)(setq ajx(*ajx(/x_xi xi_xn);end_if (setq ajx(*ajx(/x_xi xi_xn);end_if (setq i(1+i);end_while_i (setq i(1+i);end_while_i 上一页下一页结 束 续前 (setq y(+
17、y(*ajx(nth j yi)(setq y(+y(*ajx(nth j yi)(setq j(1+j)i 0 ajx 1.0)(setq j(1+j)i 0 ajx 1.0);end_while_j );end_while_j (princ ny(x)=)(princ ny(x)=)(princ y)(princ y)(princ)(princ);end );end 插值法的实质是在几何上用严格通过各个节点的曲线来近似代替线图曲线。但没有通过节点的数据往往误差比较大,因此,在工程上常接受拟合的方法来构造近似曲线。此曲线并不严格通过全部节点,而是尽可能反映所给数据的趋势。这种方法称为数据的曲
18、线拟合,其理论基础为最小二乘法。上一页下一页结 束 3)曲线拟合法1)设定一条平滑的拟合曲线方程2)从y=f(x)曲线图上取出n组数据xi,yi。与拟合曲线上对应数据的偏差为:上一页下一页结 束用最小二乘法拟合的步骤用最小二乘法拟合的步骤:3)依据最小二乘法定理,为了达到最好拟合,应使各节点的偏差平方和为最小。上一页下一页结 束4)上列方程整理得到线性方程组:上一页下一页结 束求解该线性方程组,得到系数a0、a1、a2。5)将各个系数代入拟合方程,即得到方程表达式上一页下一页结 束说明:对于同一条曲线,同一组数据,可以选用不同的方程去拟合它。如:直线、抛物线、指数方程、对数方程或K次多项式等。
19、最好依照曲线的特征选用,得到的拟合方程即可便利地编入程序中。前述各种方法都是将数据资料编入程序,运用起来便利、快捷。但它的缺陷是数据依靠于程序而存在,若要修改数据,则要修改程序,各程序之间所需相同数据资料无法共享。因此,对于数据量较大,且须要共享的数据,通常接受数据文件的形式来存储。数据文件有自己固定的存取格式,可在各种编辑器中建立,而数据文件的管理,数据的检索则通常接受高级语言中的文件管理功能来实现。上一页下一页结 束 2-3 数据资料文件化1)数据资料的正确组织2)正确录入数据3)数据文件的保存、建档和管理。若开发的软件为大型CAD系统软件,且数据量大,结构困难,操作要求高,接受数据文件的
20、管理方式也难以满足要求。这时,就要接受更科学、先进、有效的数据管理技术数据库技术。上一页下一页结 束 数据资料文件化要留意的几个问题:下面以一般V带传动设计过程为例,说明工程数据处理的方法及应用。带传动设计主要是依据给定的已知数据,如:传递的功率P、传动比或转速、工作状况等,确定带的型号、基准长度,带的根数、带轮直径大小及其结构尺寸,中心距等。上一页下一页结 束 数据资料文件化举例:例1、单根V带基本额定功率P0的确定 (见机械设计P152表8-4a):步骤如下:上一页下一页结 束 1)建立数据文件vp0.dat上一页下一页结 束 2)编程检索节点数据,再用线性插值确定出P0上一页下一页结 束 例2、编程检索单根V带额定功率增量P0 (见机械设计P153表8-4b)数据文件dltap0.dat 建立如下:上一页下一页结 束程序文件jsdp0.lsp 建立如下: