机械CAD-CAM技术第二讲-设计数据处理技术.ppt

上传人:牧羊曲112 文档编号:6583579 上传时间:2023-11-15 格式:PPT 页数:48 大小:1.70MB
返回 下载 相关 举报
机械CAD-CAM技术第二讲-设计数据处理技术.ppt_第1页
第1页 / 共48页
机械CAD-CAM技术第二讲-设计数据处理技术.ppt_第2页
第2页 / 共48页
机械CAD-CAM技术第二讲-设计数据处理技术.ppt_第3页
第3页 / 共48页
机械CAD-CAM技术第二讲-设计数据处理技术.ppt_第4页
第4页 / 共48页
机械CAD-CAM技术第二讲-设计数据处理技术.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《机械CAD-CAM技术第二讲-设计数据处理技术.ppt》由会员分享,可在线阅读,更多相关《机械CAD-CAM技术第二讲-设计数据处理技术.ppt(48页珍藏版)》请在三一办公上搜索。

1、机械CAD/CAM技术,中南林业科技大学机械设计制造及自动化教研室 易春峰,第二讲 设计数据处理技术,在机械设计过程中,设计人员需要从各种工程手册和设计规范中查阅大量的数据表格,检索有关的曲线图表,这是十分费时的工作。在CAD作业中,如果将设计所需的表格数据和曲线图表预先存入计算机中,供设计时灵活、方便地查找,将大大提高设计效率!这就涉及到各种工程手册的数据处理技术。,工程手册的数据处理包括数表和线图的处理,在处理方法上有数表的程序化、数表的文件化、数表的公式化等各种处理技术。而对线图的处理则主要是查找线图的原有公式或将线图离散成数表,然后在按数表进行处理。,第一节 数表的计算机处理,工程手册

2、中的数表有两类:一类为常数数表,如各种材料的力学性能。标准件的尺寸参数等,这些数据之间彼此没有明显的函数关系;另一类为列表函数,用以表达工程中某些复杂问题之间的参数关系,如三角函数表或离散型的实验数据,这类数据之间的关系可用某个理论公式或经验公式表示。,对于第一类常数数表,可用一维数组、二维数组或多维数组进行赋值的方法进行程序化处理。如果常数数表的数据量较大,且需要共享,可将这些常数数表存入数据文件或数据库中,这样可以实现数据与程序的分离,增强数据管理的安全性,同时提高工程数据的可维护性。对于第二类列表函数,还可对数表进行公式化处理,将数表中数据拟合成公式,由计算机直接求解公式求取所需的数据。

3、,一、数表的程序化,例2-1 将表2-1中某种型号V带包角修正系数进行程序化处理。,该数表程序化时,可定义2个一维数组,将数表中的数值赋值于各自的数组,使之初始化,以下是该数表程序化的C语言初始化赋值语句。,例2-1数表程序化C语言初始化赋值语句,float alfa8=90.0,100.0,110.0,120.0,130.0,140.0,150.0,160.0;float kalfa8=0.68,0.74,0.79,0.83,0.86,0.89,0.92,0.95;其中,kalfa0=0.68表示a=90时的修正系数,ka1fa1=0.74表示a100 时的修正系数,以此类推。如若已知的包角

4、。不是正好为表中所列数值,而是介于所列数值之间,可用函数插值法求解所需的修整系数,关于函数插值稍后介绍。,例2-2将表2-2中数表程序化处理,并要求根据所输入的V带型号查找出该V带的断面尺寸,设整型变量i为皮带型号:i0表示O型,I=1为A型,I=2为B型,以此类推。用4个一维数组a7、h7、a07、y07分别存储V带的顶宽,断面高、节宽和节高。检索V带参数的C语言程序如下:#include void main()int i;f1oat a7=10.0,13.0,17.0,22.0,32.0,38.0,50.0;f1oat h7=6.0,8.0,10.5,13.5,19.0,23.5,30.0

5、;f1oat a07=8.5,11.0,14.0,19.0,27.0,32.0,42.0;f1oat y07=2.1,2.3,4.1,4.8,6.9,8.3,11.0;,while(1)scanf(“请输入V带型号(0,1,2,3,4,5,6):d%”,例2-3检索齿轮传动工况系数,决定齿轮工况系数KA值有两个自变量,即原动机的载荷特性和工作机的载荷特性,它们原本无数值概念,现用i=02及j=02分别代表原动机和工作机不同的载荷特性,用一个二维数组ka3,3记载表中的系数。,A,检索齿轮传动工况系数C语言程序,#include main()int I,j;f1oat ka33=1.0,1.25

6、,1.75,1.25,1.5,2.0,1.5,1.75,2.25;while(1)printf(“请输入原动机的载荷特性(0,1,2):”);scanf(“%d”,while(1)printf(“请输入工作机的载荷特性(0,1,2):”);scanf(“%d”,例2-4 三维数表程序化。,见教材中P57,P58基本思想:根据自变量的数量决定是几维数组 这里有三个自变量:V带型号,小带轮计算直径和V带速度。V带型号可用一个整型变量i表示,i=0表示O型;每种型号的胶带有4个小带轮计算直径的区间范围,用整型变量j表示该区间范围,如对于O型带,j=0时表示小带轮计算直径在5063范围;皮带每秒线速度

7、用k表示。这样表中的三角胶带传递功率P0值可用一个三维数P07425表示。表中没有数据在数组中用0填写。,二、数表的文件化,如果数表很大或涉及的数表很多,若仍然采用用数组赋值的方法进行程序化,程序将显得非常的庞大,累赘,有时甚至不可能实现,这就需要将数表进行文件化或数据库进行处理。将数表文件化处理,不仅可使程序简练,还可使数表与应用程序分离,实现 一个数表文件供多个应用程序使用,并增强数据管理的安全性,提高数据系统的 可维护性。早期的CAD系统很多是采用数据文件来存储数据的。,例2-5将平键和键槽尺寸表文件化并利用所建数据文件检索所需数据,基本思想:按记录将表2-5中的平键和键槽尺寸建立数据文

8、件,一行一个记录。可将此表中的下限和上限轴径数据连同平键和键槽尺寸一起存储在数据文件中,这样一个记录将包含有轴径下限值d1、轴径上限值d2、键宽b,键高h,轴颈键槽深t。轮壳键槽深t1共6个数据项。,平键和键槽尺寸数据文件C语言程序,#include#define num=#;#按实际记录数赋值struct key_GB float d1,d2,b,h,t,t1;key;定义结构变量keyvoid main()int i;FILE*fp;定义文件指针fp if(fp=fopen(“key.dat”,“w”)=NULL)printf(“cannot open the data file”);ex

9、it();创建文件key.dat只写,for(i=0;inum;i+)printf(“record/%d:d1,d2,b,h,t,t1=”,i);scanf(“%f,%f,%f,%f,%f,%f”,并把key数据循环写入key.dat 文件,一次一记录。将该程序编译、连接,然后运行,逐行输入各记录数据项,便在磁盘上建立了名为“key.dat”的数据文件。,利用所建的数据文件“key.dat”检索所需的平键和键槽尺寸的C语言程序,#include#define num=#;#按实际记录数赋值struct key_GB float d1,d2,b,h,t,t1;key;定义结构变量keyvoid

10、main()int i;FILE*fp;定义文件指针fp,While While(1)printf(“input the shaft diameter d=”);scanf(“%f”,只读方式打开当前目录下key.dat,for(i=0;ikey.d1 记录范围内,是就打印数据。,第二节 线图的计算机处理,在设计资料中,有一部分由直线,折线或各种曲线构成的线图,它能直观地表示出参数间的函数关系。但线图不能直接存储,需进行计算机化处理。一般的做法是:若能查到线图原有的公式,只须将公式编写到程序中;将线图离散为数表,然后将数表进行程序化处理;复杂的线图各别进行处理。,一、一般线图的处理,图2-2

11、当变位系数x0时,渐开线齿轮的当量齿数Zv。和齿形系数Y之间的关系曲线。,为了将此曲线图变换成数表,可将曲线进行分割离散,用这些分割离散点的坐标值列成一张如表2-6所示的数表,分割点的选取随曲线的形状而异,陡峭部分分割密集一些,平坦部分分割得稀疏一些,分割离散的原则是使各分割点间的函数值不致相差很大,把变位系数x取不同数值时所对应的曲线都画在同一坐标平面内,就得到不同x值时当量齿数Zv与齿形系数Y之间的关系曲线图:图2-3,图2-3经离散后所得到的二维数表 表2-7,二、复杂线图的处理,工程设计手册中还经常有一些如图2-4所示的V带选型图这样较复杂的线图,这些复杂线图的处理方法是:拟合边界直(

12、曲)线,然后通过条件语句判断,最后得到检索结果。,图2-4 V型带选型折线图,由图2-4可知,区别各种型号V带的边界均为直线,因而可以运用直线方程来确定各区域边界上坐标。注意,该线图采用的是对数坐标系,则直线方程为:其中:(P1,N1)、(P2,N2)为已知直线边端点坐标,(Px,Ny)为变量。则:,若对于某确定的Px值,就可求得确定的1gNy,计为C。则有:lgNy=C Ny=10C设整型变量k为V带型号,以功率P和转速n为输入变量,k为输出变量的V带选型C语言程序如下Void belt(int n,float P,int*k)float c;c=log10(490.0)+(log10(P)

13、-log10(0.8)*(log10(4900.0)-log(490.0)/(log10(3.8)-log10(0.8);,if(n=4900|n=10*c)*k=0;O型带 else c=log10(100.0)+(log10(P)-log10(1.0)*(log10(3400.0)-log(100.0)/(log10(10.5)-log10(1.0);if(n=3400|n=10*c)*k=1;A型带 else,第三节 数表的公式化处理,由于数表数据的离散性和离散数量的有限性,在相邻两数值点之间的函数值只能选取相近的数据,这会给计算带来误差。因而,对于数据间有某些联系或函数关系的列表函数应

14、尽量进行公式化处理,充分利用计算机高速计算功能,克服上述不足。数表的公式化处理有函数插值和曲线拟合两种方法。,一、函数插值,设有一个如表2-8所示的列表函数,该数表中两组数据(自变量与因变量)之间存在某种关系,反映了某种连续的规律性。由于列表函数只能给出结点x1,x2,x3,xn处的y1,y2,yn,当自变量为结点的中间值时,可用插值的方法来检索数值。,函数插值的基本思想是在插值点附近选取若干合适的连续结点,过这些结点构造一个简单函数g(x)以代替原未知函数f(x),插值点的g(x)值就作为原函数的近似。根据所选取的结点的个数,可将函数插值分为线性插值,抛物线插值和拉格朗日插值.,1、线性插值

15、,线性插值又称二点插值,根据插值点x值选取两个相邻的自变量xi,与xi+1,为简便起见,可将这两自变量设定为x1和x2,并满足x1xx2条件,用过(x1,y1)(x2,y2)两结点连线的直线代替原来的函数f(x)(图2-5),上述线性插值点函数为,即:,可改写为:,设:,则:,2、抛物线插值,线性插值精度较低,为提高插值精度,可采用抛物线插值。抛物线插值又称三点插值。根据插值点x值,选取三个相邻自变量xi-1,xi,xi+1,同样简化为x1,x2,x3,使之满足x1x2 x3条件,过这三点作抛物线g(x)以替代f(x)。直接写出抛物线插值公式,直接写出抛物线插值公式,3、拉格朗日插值,拉格朗日

16、插值为多点插值,若插值曲线通过(x1,y1)、(x2,y2)、(xn,yn)n个结点,则插值多项式可写成如下累加和的形式,二、函数拟合,用插值法对列表函数进行公式化处理比较简便,但存在着两方面的不足:插值函数严格通过列表函数中的每个结点,而这些结点数据往往通过试验所得,带有试验误差,这样得到的插值公式复印了原有的结点误差;仍需将各结点数据存贮在计算机内,占用存贮空间。鉴于上述情况,工程上常采用数据的函数拟合方法。所拟合的曲线不要求严格通过所有的结点,而是尽量反映数据的变化趋势。,函数拟合最常用的最小二乘法处理步骤,在坐标纸上标出列表函数各结点数据,并根据其趋势绘出大致的曲线;根据曲线确定近似的

17、拟合函数类型,拟合函数可为代数多项式,对数函数,指数函数等;用最小二乘法原理确定函数中的待定系数。其实质是使拟合曲线与结点的偏差平方和最小。,第四节 数据库在CADCAM作业中的应用,数据库系统可有效管理所有的产品设计和制造的数据信息,实现数据的共享,保持程序与数据的独立性,保证数据的完整性和安全性。因而,数据库系统在CAD/CAM作业中得到广泛的应用。这里将介绍一般工程手册中数表的数据库处理方法。,数表的数据库处理,在CADCAM作业中数据库系统比文件系统应用更广泛,操作更方便。人们往往将大量的工程手册中的各类数表进行整理,利用数据库管理系统(DBMS)的强大功能,在计算机内建立各类数据库,以便对工程数表进行直接访问和调用。下面以深沟球轴承(图2-8)为例讨论如何将工程手册中的数表建立数据库表文件。,根据表2-9,确定数据库数表文件结构,按此结构建一新的数据库数表,并按深沟球轴承的参数表输入数据。对建好的数据库数表可以非常方便地编辑和修改。这点比用C语言进行数表的文件化处理要方便的多。,建好的数据库数表,可以直接用通用数据库提供的工具进行检索,当然要想提高使用效率,最好是自己编写专门的查询程序。本章复习题:P72:1,2,3,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号