CAD-数据处理技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机辅助设计 例2:二维数表 齿轮传动工况系数KA
工作机载荷特性
工况系数 Ka[i][j]
工作平稳 j=0 1.00 1.25 1.50
中等冲击 j=1 1.25 1.50 1.75
较大冲击 j=2 1.75 2.00 2.25
原动机 载荷特性
工作平稳 轻度冲击 中等冲击
i=0 i=1 i=2
决定齿轮工况系数 KA 值有两个自变量,即原动机的载荷特 性和工作机的载荷特性。它们原本无数值概念,现用i=0~ 2及j=0~2分别代表原动机和工作机不同的载荷特性,用一 个二维数组ka[3][3]记载表中的系数
• 线图的离散化处理 • 线图的公式化处理
计算机辅助设计
线图的离散化处理
为了将曲线图变换成数表,可将曲线进行分割离散, 用这些分割离散点的坐标值列成一张数表
分割离散的原则: 各分割点间的函 数值相差不大 分割点的选取随 曲线的形状而异, 陡峭部分分割密集 一些,平坦部分分 割稀疏一些
当变位系数x=0,渐开 线齿轮的当量齿数 Zv 和齿形系数 Y 之间的关 系曲线
计算机辅助设计
抛物线插值
为提高插值精度,可采 用抛物线插值。抛物线插 值又称三点插值 根据插值点 x 值,选取 三个相邻自变量 xi-1 , xi 和 xi+1,简化为 x1、x2、x
3
满足x1≤x≤x3 ,过这 三点作抛物线 g(x) 替代 f (x),与线性插值类似可写 出抛物线插值公式: ( x x2 )(x x3 ) ( x x1 )(x x3 )1 ( x x1 )(x x2 ) g ( x) y1 y2 y3 ( x1 x2 )(x1 x3 ) ( x2 x1 )(x2 x3 ) ( x3 x1 )(x3 x2 )
计算机辅助设计 图示各结点到所拟合直线偏差的平方和为:
e ( f ( xi ) yi ) (a bxi yi ) 2
i 1 2 i 2 i 1 i 1
n
n
n
根据函数求极值性质,函数对自变量的偏导为零
则令: a 0 b 0
求偏导数,得:
2(a bx y ) 0
i i
2.x .(a bx y ) 0
i i i
a y bx 求得:
b
x (y x (x
i i
i i
y) x)
计算机辅助设计
例:以表中的5次实验数据为例,拟合线性方程
ຫໍສະໝຸດ Baidui xi
1 2 3 4 5 15
yi
0 2 2 5 4 13
D:\TURBOC2 建立数据文件程序:GB2226A.C 读取数据绘图程序:GB2226B.C 数据文件:GB2226.TXT
作业
计算机辅助设计
2. 线图的计算机处理技术
设计资料中,常用部分由直线、折线或各种曲线构成 线图直观地表示出参数间的函数关系 线图不能直接存储,需进行计算机化处理 一般做法: ① 若能查到线图原有的公式,将公式编写到程序中; ② 将线图离散为数表,然后将数表进行程序化处理; ③ 用曲线插值或拟合的方法求出线图的近似公式,再 将公式编写到程序中。
>17-22
>22-30
6
8
6
7
3.5
4.0
2.8
3.3
>30-38
>38-44
10
12
8
8
5.0
5.5
3.3
3.3
>44-50
>50-58
14
16
9
10
6.0
6.5
3.8
4.3
计算机辅助设计
实训1:数表的文件化
1)了解和掌握工程数据文件化的处理过程和方法。 2)掌握数据文件的查询方法。 3)熟悉c语言编程并掌握基本的绘图指令。 工程数据的计算机处理,可以采用程序化或文件化的方法。 程序化是直接将数表以数组的形式编到程序中去,数组赋值的方法 文件化则是将数表以文件形式保存在磁盘中,早期CAD系统采用该方 法存储数据 为了用C语言进行编程,对C语言中有关文件操作及绘图指令进行介绍: C语言绘图函数
计算机辅助设计
数表的数组化
将数表(含线图离散化而成数表)中的数据编入程序,存入一维、 二维或多维数组,再根据已知条件自动检索和调用所需数据
例1:将表中为标准螺孔底孔尺寸进行数组化处理 标准螺孔底孔尺寸
公称尺寸M M4 M5 M6 M7 M8 M9 M10 M12 M14 M16 M18 M20
底孔尺寸d 3.3 4.2 5.0
计算机辅助设计
1. 数表的计算机处理技术
CAD/CAM中需要将各种表格数据和曲线图表编入 程序预先存入计算机中,以便设计时由程序自动检索 和调用,提高设计的自动化程度 这就涉及各种计算机数据处理技术 设计数据或资料的计算机常用处理方法:
• 数表的数组化 • 数表的文件化
• 数表的公式化
将数表或线图转化为公式 编入程序,再根据已知数 据计算出所需数据
数表公式化处理方法:函数插值 曲线拟合
计算机辅助设计
函数插值
函数插值分:线性插值、抛物线插值和拉格朗日插值
线性插值(两点插值)
已知插值点P的相邻两点: P1=f(x1) P2=f(x2) 近似认为此区域函数呈线性 变化,用过P1、P2两点连线的 直线g(x)代替原来函数f(x), 则插值点函数为:
计算机辅助设计
最小二乘法原理
若列表函数所有节点基本上呈现线性变化规律,用直线方程 f(x) = a + b x 描述 选取系数 a, b,使偏差平方和φ 最小,就是最小二乘法的实 质 最小二乘法处理的任务就是求直线方程中的待定系数a和b
最小二乘法步骤
① 在坐标纸上标出列表函数各节点数据,并根据其趋势绘出 大致的曲线 ② 根据曲线确定近似的拟合函数类型,拟合函数可为代数多 项式、对数函数、指数函数… ③ 用最小二乘法原理确定函数中的待定系数
当 量 齿 数 Zv (N)
计算机辅助设计
线图的公式化处理
由于数据的离散性和离散数量的有限性,相邻两数值点 之间的函数值只能选取相近的数据,会给计算带来误差。 数表的存储和使用,会占用较多的计算机资源和存储空 间,增加计算机检索时间; 数据间存在某些联系或函数关系的列表函数应尽量进行 公式化处理,充分利用计算机高速计算功能
xi2
1 4 9 16 25 55
xiyi
0 4 6 20 20 50
1
2 3 4
5
Σ
将表中数据代入前式得方程组: 5a 15b 13 15a 55b 50 求解得: a=-0.7 b=1.1 则: f(x)=1.1x-0.7
计算机辅助设计
实训2:最小二乘法的应用
1)了解和掌握工程工程数据公式化的处理过程和方法。 2)掌握最小二乘法的原理,并能应用于列表函数的公式化处理过程。 在某车削过程中,车刀前角对切削力的影响有如表2-2所示的实验数据:
6.0
6.7 7.7
8.5
10.2 11.9
13.9
15.4 17.4
定义2个一维数组,将数表中的数值赋值于各自的数组,使之初始化 数表程序化的C语言初始化赋值语句: float m[12]={ 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20 }; float d[12]={3.3 ,4.2 ,5.0 ,6.0,6.7,7.7,8.5,10.2,11.9,13.9 ,15.4,17.4 }; 可用d[0]=3.3表示M4的底孔尺寸,d[1]=4.2表示M5螺孔的底孔尺寸… 若已知螺孔公称尺寸 m[i],就可相应的检索出螺孔底孔尺寸 d[i]
计算机辅助设计
曲线拟合
用插值法对列表函数进行公式化处理是一种比较简便的 方法,但存在两方面不足: ① 插值函数严格通过列表函数中的每个节点,而这些节 点数据往往由试验所得,不可避免的带有试验误差,这样 得到的插值公式复印了原有的节点误差; ② 仍需将各节点数据存储在计算机内,占用存储空间
工程上常采用数据的函数拟合方法(又称曲线拟 合),所拟合的曲线不要求严格通过所有的节点, 而是尽量反映数据的变化趋势 函数拟合有多种方法,最常用的为最小二乘法
g ( x) f ( x1 ) f ( x2 ) f ( x1 ) ( x x1 ) x2 x1
g ( x) y1
y 2 y1 ( x x1 ) x2 x1
g ( x)
x x2 x x1 y1 y2 x1 x2 x2 x1
g ( x) A1 y1 A2 y 2
计算机辅助设计
计算机数据处理技术
制作:房亚东
计算机辅助设计
本章
学习目标
• 学会采用适当方式处理工程设计 中不同形式数据 • 了解数据管理几种方法的特点 • 掌握数据库的基础知识 重点:数据处理技术 数据库管理基础知识
计算机辅助设计
学习内容
1.数表的计算机处理技术 2.线图的计算机处理技术 3.数据库基本原理与应用
渐开线齿轮的当量齿数和齿形系数的关系
当量齿数Zv 齿形系数Y 12 14 16 18 22 26 30 40 50
3.48 3.22 3.03 2.91 2.73 2.60 2.52
2.40 2.32
计算机辅助设计
把变位系数 x 取不同数 值时所对应的曲线都画在 同一坐标平面内,就得到 不同 x值时当量齿数 Zv与 齿形系数 Y 之间的关系曲 线图 每条曲线可变换成一张 一维数表,则m条曲线的 线图就可变换成m张一维 数表,这些数表组合在一 起就是一张二维数表 转换后的数表只能表示 曲线上有限点处的变量关 系,若要查找曲线上任意 点处的变量值,要用插值 方法
计算机辅助设计
检索齿轮传动工况系数的C程序:
• • • • • • • • • • • • • • • • • #include <stdio.h> main() { int i,j; float ka[3][3]={{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<=2) break; } while(1) { printf(“请输入工作机的载荷特性(0,1,2): ”); scanf(“%d”,&j); if(j>=0&&j<=2) break; } printf(“您检索的齿轮工况系数为%f,”,ka[i][j]); }
计算机辅助设计
数表的文件化
数据量很大, 用数组不便于 处理,可将数 表中(含线图 离散化而成数 表)的数据, 存入数据文件 或数据库中, 数据独立于应 用程序 使用时通过 检索程序查询 和调用所需数 据
计算机辅助设计 例:建立平键和键槽尺寸数据文件 平键和键槽的剖面尺寸(部分)
键 轴径 d b h t t1 键槽
渐开线齿轮的齿形系数
计算机辅助设计
渐开线齿轮当量齿数和齿形系数的关系
序 号 N 变形系数 x 齿形系数 Y(M,N) 12 X=1 X=0.9 X=0.8 X=0.7 X=0.6 X=0.5 X=0.4 X=0.3 X=0.2 X=0.1 …… X=0 Y(1,N) Y(2,N) Y(3,N) Y(4,N) Y(5,N) Y(6,N) Y(7,N) Y(8,N) Y(9,N) Y(10,N) Y(11,N) 1.98 2.07 2.19 2.32 2.49 2.67 2.89 3.17 3.48 1.9 1.97 2.05 2.15 2.26 2.42 2.56 2.74 2.97 3.22 14 16 1.86 1.90 1.96 2.03 2.12 2.22 2.36 2.48 2.63 2.83 3.05 18 1.87 1.91 1.97 2.02 2.1 2.2 2.32 2.43 2.56 2.72 2.91 22 1.88 1.92 1.96 2.02 2.08 2.16 2.25 2.35 2.46 2.58 2.73 26 1.90 1.93 1.97 2.01 2.07 2.14 2.22 2.30 2.39 2.49 2.60 30 1.91 1.93 1.97 2.01 2.06 2.12 2.19 2.25 2.34 2.43 2.52 40 1.93 1.95 1.98 2.02 2.05 2.10 2.15 2.20 2.26 2.33 2.40 50 1.95 1.97 1.99 2.02 2.05 2.09 2.13 2.17 2.21 2.26 2.32 1 2 3 4 5 6 7 8 9