1、第章工程数据的计算机处理计算机辅助设计基础及应用第10章 工程数据的计算机处理 一概述 1.工程数据工程设计过程中,经常需要使用一系列的数据资料。如数据表、图表等(如下图)。在传统的设计过程中,通常由人工查询手册或标准来获取这些资料。(如:机械手册)计算机辅助设计基础及应用Z91011121314151617K0.4460.5000.5540.6090.6640.7190.7750.8310.887Z1819202122232425K0.9431.001.061.111.171.231.291.34计算机辅助设计基础及应用计算机辅助设计基础及应用计算机辅助设计基础及应用1.工程数据的计算机处理
2、工程数据的计算机处理是将上述数据以一定的方式存储于计算机中,以备计算机辅助设计(CAD)时使用。目的:抛开设计手册,实现完全的计算机辅助设计。计算机辅助设计基础及应用二数表的计算机处理方法n从总体上说,数表的计算机处理方法有以下三种:n 程序化处理n 文件化处理n 数据库管理1.程序化处理方法:在编程时将数据以一定的形式直接放于程序中。计算机辅助设计基础及应用实例:由小链轮齿数 Z 查取齿数系数 K 的数表,试对其进行程序化处理。Z91011121314151617K0.4460.5000.5540.6090.6640.7190.7750.8310.887Z1819202122232425K0
3、.9431.001.061.111.171.231.291.34计算机辅助设计基础及应用用Turbo C语言编程如下:main() int i,Z1; int Z17 = 9,10,11,12,13,14,15,16,17,18,19,20,21, 22, 23, 24,25; float K17 = 0.446,0.500,0.554,0.609,0.664,0.719,0.775, 0.831,0.887,0.943,1.00,1.06,1.11,1.17,1.23,1.29,1.34; printf(n请输入链轮齿数Z1(8z126):); scanf(%d, &Z1); for(i=0
4、;i16;i+) if(Zi=Z1) printf(n当Z=%d时,K=%fn, Zi,Ki); getch(); 计算机辅助设计基础及应用特点:I.程序与数据结合在一起。II.数据的独立性较差,数据无法共享。III.使程序膨胀、累赘,仅适合于小型数表。计算机辅助设计基础及应用1.文件化处理方法: 将数据放于扩展名为.dat、.txt的数据文本文件中,需要数据时,由程序来打开文件并读取所需要的数据。实例:将下图中的平键数表进行文件化处理。I.生成平键数表数据文件”key.dat”的C程序。见平键数表文件生成.c 源程序。II.给定轴径d尺寸,从 “key.dat”文件中检索键槽的相关尺寸。见平
5、键数表数据查询.c 源程序。计算机辅助设计基础及应用计算机辅助设计基础及应用特点:I.数据与程序分离,使程序简练;数据实现了共享,提高了数据的可维护性。II.可以存储大型的数据,但随数据量的增加,数据文件会较大,文件的读写操作会变得缓慢。III.数据文件的安全性和保密性差。A.文件不加密,谁都可以看见,谁都可以修改。 计算机辅助设计基础及应用1.数据库管理方法: 将工程数据存放到数据库中,可以克服文件化处理的不足。特点:I.数据共享。II.数据集中。III.数据结构化。既表示了事物,又表示了事物之间的联系。IV. 数据与应用程序无关。V.安全性和保密性好。计算机辅助设计基础及应用实例:试用Ac
6、cess数据库建立小链轮齿数 Z与齿数系数 K 的关系数据表,并编成实现通过小链轮齿数 Z查询齿数系数 K的方法。I.使用Access建立链传动设计数据库(链传动设计.mdb),在该数据库中建立小链轮齿数系数表,并录入数据(演示)II.使用Visual Basic 编程读取数据(代码如下)III.添加部件A.Microsoft ADO Data Control 6.0B.Microsoft DataGrid Control 6.0计算机辅助设计基础及应用II.在窗体上画出控件A.DataGrid1B.Adodc1C.Text1 和 Text2III.设置 Adodc1 控件的属性(右键单击)A
7、.通用选项卡设置使用连接字符串生成提供程序Microsoft.Jet. 4.0 .OLE DB Provide下一步选择或输入数据库名称确定A.记录源选项卡设置命令类型2adcmdTable表或存储过程名称小齿轮齿数系数表计算机辅助设计基础及应用IV. 设置 DataGrid1 控件的属性A.属性窗口:DataSource=Adodc1V.代码Private Sub DataGrid1_Click() Text1.Text = DataGrid1.Columns.Item(1) Text2.Text = DataGrid1.Columns.Item(2)End Sub常用数据库:Access、
8、SQL Server、FoxPro等计算机辅助设计基础及应用三数表的插值处理1.工程中,经常会出现连续值被离散化的数表。虽然离散化后的自变量值与因变量值是一一对应关系,但查询的数据并不总是这些离散值(结点),而是介于离散值之间的某个值,这时就要通过函数插值的方法来实现。2.假如:下表中要查询 Z = 12.5 所对应的 K 值。Z91011121314151617K0.4460.5000.5540.6090.6640.7190.7750.8310.887计算机辅助设计基础及应用1.常用的插值方法线性插值I.机理:A.线性插值就是用通过两结点的直线方程来代替原来的函数。g(x)yy1iyiy1i
9、yf(x)g(x)oixx1ixx1ix误差误差f(x)1iyyyiyoixx1ixxbkxy计算机辅助设计基础及应用II.线性插值方程(函数)为:III.说明:线性插值存在一定的误差,但当数表中的自变量值间隔较小时,还是可以满足插值精度要求的。iiiiiiyxxxxyyy)(11yxxxxyxxxxyiiiiiiii()()()()1111计算机辅助设计基础及应用抛物线插值I.机理:A.抛物线插值就是用通过3个结点的抛物线方程来代替原来的函数。y1iyiyyoxxix1ixf(x)g(x)误差yy1iyiy1iyf(x)g(x)oixx1ixx1ix误差cbxaxy2计算机辅助设计基础及应用
10、II.抛物线插值方程(函数)为:III.说明:A.抛物线插值也存在一定的误差,但比线性插值精度高。yxxxxxxxxyiiiiiii()()()()11111iiiiiiiyxxxxxxxx)()(111111111)()(iiiiiiiyxxxxxxxx注意: 抛物线插值中,根据所查询的点选取3个插值点的方法是:与所要查询的点最接近的点就是3个插值点中,中间的那个点。计算机辅助设计基础及应用五图表的程序化1.工程设计过程中,经常要通过一些图表来查找某些参数或系数。(如下图)计算机辅助设计基础及应用1.图表程序化的方法:公式法:I.对于有明确公式的图表,在进行图表的程序化处理时,直接将公式编写
11、进程序即可。II.这种方法是最精确的程序化处理方法,但并不是所有的图表都有公式。计算机辅助设计基础及应用图表离散化:将图表离散化成数表,再用前面介绍的数表处理方法进行处理。x=0 x=0时渐开线齿轮当量齿时渐开线齿轮当量齿数和齿形系数关系曲线数和齿形系数关系曲线 当量齿数当量齿数Z Zv v 12 14 16 18 22 26 30 40 50 12 14 16 18 22 26 30 40 50 齿形系数齿形系数Y Y 3.48 3.22 3.03 3.91 3.73 3.60 3.52 3.40 3.323.48 3.22 3.03 3.91 3.73 3.60 3.52 3.40 3.3
12、2 分割离散原则:分割离散原则:各分割点间的函数值各分割点间的函数值Y不应相差很大。不应相差很大。计算机辅助设计基础及应用曲线拟合法:I.用曲线拟合的方法求出图表的拟合公式(又称为经验公式),再将公式编写成程序。下面简单介绍一种常用的曲线拟合方法:最小二乘法计算机辅助设计基础及应用1.求图表拟合公式的一种常用方法最小二乘法I.机理:A.从图表中选取m个离散点的值:B. 设拟合公式为 :C.则拟合曲线在每一离散点处与实际值的偏差为:),( ,),(),(2211mmyxyxyx)(xfy ), 21,()(miyxfeiii计算机辅助设计基础及应用A.偏差的平方和为:B.用最小二乘法求拟合公式的
13、基本思想是:偏差的平方和为最小II.选取拟合公式的原则 2112)(miiimiiyxfe)(xfy 计算机辅助设计基础及应用A.原则:拟合公式通常采用一些初等函数,如:代数多项式、幂函数、指数函数、对数函数等。确定拟合公式类型的方法:根据图表中曲线的走势,确定与之相近的拟合公式的类型。例如:如果图表中曲线的走势类似直线,则确定拟合公式为一个直线方程 。再利用最小二乘法的基本思想求出直线方程的系数值a和b,也就找到了我们所要求的拟合公式(直线方程)。根据图表的曲线走势,采用分段选取不同拟合公式的原则。baxy计算机辅助设计基础及应用III.示例:A.假设某一图表中曲线的走势与多项式的曲线图形类
14、似。即拟合公式选取为多项式:B.在图表中查取m个离散点的值:(点数越多,精度越高)C.离散点偏差的平方和为: nnxaxaxaaxfy2210)(),( ,),(),(2211mmyxyxyx222110211210)()(),(ininiimimiiimiinyxaxaxaayxfeaaaF ),(10naaa计算机辅助设计基础及应用D.可见,偏差的平方和是 的函数。为使其最小,取对各自变量的偏导数等于零,即:E.这样,可以列出 n + 1 个方程,求解 n + 1 个变量:F.求解出 ,也就找到了拟合公式。),(10naaa0)(122210 jmiininiiayxaxaxaanj, 1, 0),(10naaa),(10naaannxaxaxaaxfy2210)(