机械CADCAM技术第二讲设计数据处理技术课件

上传人:博****1 文档编号:591479884 上传时间:2024-09-17 格式:PPT 页数:48 大小:478.50KB
返回 下载 相关 举报
机械CADCAM技术第二讲设计数据处理技术课件_第1页
第1页 / 共48页
机械CADCAM技术第二讲设计数据处理技术课件_第2页
第2页 / 共48页
机械CADCAM技术第二讲设计数据处理技术课件_第3页
第3页 / 共48页
机械CADCAM技术第二讲设计数据处理技术课件_第4页
第4页 / 共48页
机械CADCAM技术第二讲设计数据处理技术课件_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《机械CADCAM技术第二讲设计数据处理技术课件》由会员分享,可在线阅读,更多相关《机械CADCAM技术第二讲设计数据处理技术课件(48页珍藏版)》请在金锄头文库上搜索。

1、机械CAD/CAM技术中南林业科技大学机械设计制造及自动化教研室 易春峰第二讲 设计数据处理技术 在机械设计过程中,设计人员需要从在机械设计过程中,设计人员需要从各种工程手册和设计规范中查阅大量的各种工程手册和设计规范中查阅大量的数据表格,检索有关的曲线图表,这是数据表格,检索有关的曲线图表,这是十分费时的工作。在十分费时的工作。在CAD作业中,如果作业中,如果将设计所需的表格数据和曲线图表预先将设计所需的表格数据和曲线图表预先存入计算机中,供设计时灵活、方便地存入计算机中,供设计时灵活、方便地查找,将大大提高设计效率查找,将大大提高设计效率!这就涉及到这就涉及到各种工程手册的数据处理技术。各

2、种工程手册的数据处理技术。 工程手册的数据处理包括数表和线图的处理,在处理方法上有数表的程序化、数表的文件化、数表的公式化等各种处理技术。 而对线图的处理则主要是查找线图的原有公式或将线图离散成数表,然后在按数表进行处理。第一节 数表的计算机处理工程手册中的数表有两类:工程手册中的数表有两类:一类为一类为常数数表常数数表,如各种材料的力学性如各种材料的力学性能。标准件的尺寸参数等,这些数据之能。标准件的尺寸参数等,这些数据之间彼此没有明显的函数关系间彼此没有明显的函数关系;另一类为另一类为列表函数列表函数,用以表达工程中某用以表达工程中某些复杂问题之间的参数关系,如三角函些复杂问题之间的参数关

3、系,如三角函数表或离散型的实验数据,这类数据之数表或离散型的实验数据,这类数据之间的关系可用某个理论公式或经验公式间的关系可用某个理论公式或经验公式表示表示。对于第一类常数数表,可用一维数组、二对于第一类常数数表,可用一维数组、二维数组或多维数组进行赋值的方法进行维数组或多维数组进行赋值的方法进行程序化处理程序化处理。如果常数数表的数据量较如果常数数表的数据量较大,且需要共享,可大,且需要共享,可将这些常数数表存将这些常数数表存入数据文件或数据库中入数据文件或数据库中,这样可以实现,这样可以实现数据与程序的分离,增强数据管理的安数据与程序的分离,增强数据管理的安全性,同时提高工程数据的可维护性

4、全性,同时提高工程数据的可维护性。对于第二类列表函数,还可对数表进行公对于第二类列表函数,还可对数表进行公式化处理式化处理,将数表中数据拟合成公式,将数表中数据拟合成公式,由计算机直接求解公式求取所需的数据。由计算机直接求解公式求取所需的数据。 一、数表的程序化 例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,16

5、0.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 时的修正系数,以此类推。 如若已知的包角。不是正好为表中所列数值,而是介于所列数值之间,可用函数插值法求解所需的修整系数,关于函数插值稍后介绍。 例2-2将表2-2中数表程序化处理,并要求根据所输入的V带型号查找出该V带的断面尺寸 设整型变量i为皮带型号:i0表示O型,I=1为A型,I=2为B型,以此类推。用4个一维数组a7、h7、a07、y07分别存储V带的顶宽,断

6、面高、节宽和节高。检索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; 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%”,&i); if (i=0&i=6) printf (“您需

7、查找的V带的顶宽为%f,断面高为%f,节宽为%f,节高为%f”,ai,hi,a0i,y0i); break; else printf (“您所输入的V带型号不对,请重新输入!”); 例2-3检索齿轮传动工况系数 决定齿轮工况系数决定齿轮工况系数K KA A值有两个自变量,即值有两个自变量,即原动机的载荷特性和工作机的载荷特性,它们原动机的载荷特性和工作机的载荷特性,它们原本无数值概念,现用原本无数值概念,现用i=0i=02 2及及j=0j=02 2分别代分别代表原动机和工作机不同的载荷特性,用一个二表原动机和工作机不同的载荷特性,用一个二维数组维数组ka3,3ka3,3记载表中的系数。记载表中

8、的系数。A检索齿轮传动工况系数C语言程序 #include main( ) int I,j; f1oat ka33=1.0,1.25,1.75,1.25,1.5,2.0, 1.5,1.75,2.25; while (1) printf (“请输入原动机的载荷特性请输入原动机的载荷特性(0,1,2):”); scanf (“%d”,&i); if (i=0&i=0&j=2) break; printf (“您检索的齿轮工况系数为您检索的齿轮工况系数为%f”,kaij); 例2-4 三维数表程序化。见教材中P57,P58基本思想:根据自变量的数量决定是几维数组基本思想:根据自变量的数量决定是几维数

9、组基本思想:根据自变量的数量决定是几维数组基本思想:根据自变量的数量决定是几维数组 这里有三个自变量:V带型号,小带轮计算直径和V带速度。V V带型号可用一个整型变量带型号可用一个整型变量i i表示表示,i=0表示O型;每种型号的胶带有4个小带轮计算直径的区间范围,用整型变量整型变量j j表示该表示该区间范围区间范围,如对于O型带,j=0时表示小带轮计算直径在5063范围;皮带每秒线速度用皮带每秒线速度用k k表示表示。这样表中的三角胶带传递功率P0值可用一个三维数P07425表示。表中没有数据在表中没有数据在数组中用数组中用0 0填写。填写。二、数表的文件化二、数表的文件化 如果数表很大或涉

10、及的数表很多,若仍然如果数表很大或涉及的数表很多,若仍然如果数表很大或涉及的数表很多,若仍然如果数表很大或涉及的数表很多,若仍然采用用数组赋值的方法进行程序化,程序将显采用用数组赋值的方法进行程序化,程序将显采用用数组赋值的方法进行程序化,程序将显采用用数组赋值的方法进行程序化,程序将显得非常的庞大,累赘,有时甚至不可能实现得非常的庞大,累赘,有时甚至不可能实现得非常的庞大,累赘,有时甚至不可能实现得非常的庞大,累赘,有时甚至不可能实现,这就需要将数表进行文件化或数据库进行处理。这就需要将数表进行文件化或数据库进行处理。 将数表文件化处理,不仅可使程序简练,将数表文件化处理,不仅可使程序简练,

11、将数表文件化处理,不仅可使程序简练,将数表文件化处理,不仅可使程序简练,还可使数表与应用程序分离,实现还可使数表与应用程序分离,实现还可使数表与应用程序分离,实现还可使数表与应用程序分离,实现 一个数表文一个数表文一个数表文一个数表文件供多个应用程序使用,并增强数据管理的安件供多个应用程序使用,并增强数据管理的安件供多个应用程序使用,并增强数据管理的安件供多个应用程序使用,并增强数据管理的安全性,提高数据系统的全性,提高数据系统的全性,提高数据系统的全性,提高数据系统的 可维护性可维护性可维护性可维护性。早期的。早期的CAD系统很多是采用数据文件来存储数据的。系统很多是采用数据文件来存储数据的

12、。例2-5将平键和键槽尺寸表文件化并利用所建数据文件检索所需数据 基本思想:按记录将表基本思想:按记录将表2-5中的平键中的平键和键槽尺寸建立数据文件,一行一个记和键槽尺寸建立数据文件,一行一个记录。可将此表中的下限和上限轴径数据录。可将此表中的下限和上限轴径数据连同平键和键槽尺寸一起存储在数据文连同平键和键槽尺寸一起存储在数据文件中,这样一个记录将包含有轴径下限件中,这样一个记录将包含有轴径下限值值d1 1、轴径上限值轴径上限值d2 2、键宽键宽b,键高键高h,轴颈键槽深轴颈键槽深t。轮壳键槽深轮壳键槽深t1 1共共6个数据项。个数据项。平键和键槽尺寸数据文件平键和键槽尺寸数据文件C语言程序

13、语言程序#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”); exit( ); 创建文件创建文件key.dat只写只写 for (i=0;inum;i+) printf(“record/%d:d1,d2,b,h,t,t1= ”,i); scanf(

14、“%f, %f, %f, %f, %f, %f”,&key.d1, &key.d2, &key.b, &key.h,&key.t, &key.t1); fwrite(&key,sizeof(struct key_GB ),1,fp) 向结构变量向结构变量key中输入数据中输入数据 fclose(fp); 并把并把key数据循环写入数据循环写入key.dat 文件,一次一记录。文件,一次一记录。 将该程序编译、连接,然后运行,逐行输将该程序编译、连接,然后运行,逐行输将该程序编译、连接,然后运行,逐行输将该程序编译、连接,然后运行,逐行输入各记录数据项,便在磁盘上建立了名为入各记录数据项,便在磁

15、盘上建立了名为入各记录数据项,便在磁盘上建立了名为入各记录数据项,便在磁盘上建立了名为“ “key. dat”key. dat”的数据文件。的数据文件。的数据文件。的数据文件。利用所建的数据文件“key. dat”检索所需的平键和键槽尺寸的C语言程序#include#define num=#;#按实际记录数赋值struct key_GB float d1, d2,b,h,t,t1; key; 定义结构变量定义结构变量keyvoid main( )int i;FILE *fp; 定义文件指针定义文件指针fp While While (1) printf(“input the shaft diam

16、eter d=”); scanf(“%f”,&d); if(d8&d=85)break; else printf(“the diameter d is not in range,input again!”); 输入正确轴径输入正确轴径 if(fp=fopen(“key.dat”,“r”) = = NULL) printf(“cannot open the data file”); exit( ); 只读方式打开当前目录下只读方式打开当前目录下key.dat for (i=0;ikey.d1 & d=4900|n=10*c) if(n=4900|n=10*c) *k=0;O *k=0;O型带型带

17、 else else c=log10(100.0)+(log10(P)-c=log10(100.0)+(log10(P)-log10(1.0)*(log10(3400.0)-log10(1.0)*(log10(3400.0)-log(100.0)/(log10(10.5)-log10(1.0);log(100.0)/(log10(10.5)-log10(1.0); if(n=3400|n=10*c) if(n=3400|n=10*c) *k=1;A *k=1;A型带型带 elseelse 第三节 数表的公式化处理由于数表数据的离散性和离散数量的有限性,在相邻两数值点之间的函数值只能选取相近的数

18、据,这会给计算带来误差。因而,对于数据间有某些联系或函对于数据间有某些联系或函数关系的列表函数应尽量进行公式化处数关系的列表函数应尽量进行公式化处理理,充分利用计算机高速计算功能,克服上述不足。数表的公式化处理有函数插值函数插值和曲线拟曲线拟合合两种方法。一、函数插值 设有一个如表2-8所示的列表函数,该数表中两组数据(自变量与因变量)之间存在某种关系,反映了某种连续的规律性。由于列表函数只能给出结点x1 1,x2 2,x3 3,xn n处的y1 1,y2 2,yn n,当自变量为结点的中间值时,可用插值的方法来检索数值。函数插值的基本思想是在插值点附近选取若干合适的连续结点,过这些结点构造一

19、个简单函数g(x)以代替原未知函数f(x),插值点的g(x)值就作为原函数的近似。根据所选取的结点的个数,可将函数插值分为线性插值线性插值,抛物线插值抛物线插值和拉格朗和拉格朗日插值日插值. 1、线性插值 线性插值又线性插值又称二点插值,根称二点插值,根据插值点据插值点x x值选值选取两个相邻的自取两个相邻的自变量变量xi i,与与xi i+1+1,为简便起见,为简便起见,可将这两自变量可将这两自变量设定为设定为x1 1和和x2 2,并满足并满足x1 1xx2 2条件条件, ,用过用过(x1 1,y1 1)(x2 2,y2 2)两结两结点连线的直线代点连线的直线代替原来的函数替原来的函数f(x

20、)f(x)(图图2-52-5)上述线性插值点函数为上述线性插值点函数为即:可改写为:设:则: 2、抛物线插值 线性插值精度较低,为提高插值精度,可采用抛物线插值。抛物线插值又称三点插值。根据插值点x值,选取三个相邻自变量xi-1i-1,xi i,xi+1i+1,同样简化为x1 1,x2 2,x3 3,使之满足x1 1x2 2 x3 3条件,过这三点作抛物线g(x)以替代f(x)。直接写出抛物线插值公式直接写出抛物线插值公式 3、拉格朗日插值 拉格朗日插值为多点插值,若插值曲线通过(x1 1,y1 1)、(x2 2,y2 2)、(xn n,yn n)n个结点,则插值多项式可写成如下累加和的形式二

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

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

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号