0201工程数据管理概论.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
0201工程数据管理概论

在机械设计过程中,往往需要从有关的工程手册或设计规范中查找各种系数或数据 传统方法:设计人员手工查取,费时、繁琐 现代设计方法:计算机处理 中心问题在:如何将这种人工查找转变成在CAD进程中的高效、快速处理。 程序化 在应用程序内部对这些数表及线图进行查表、处理或计算。处理方法有两种: 第一种将数表中的数据或线图经离散化后存入一维、二维或三维数组,用查表、插值等方法检索所需数据; 第二种将数表或线图拟合成公式,编入程序计算出所需数据。 数据库存储 将数表及线图(经离散化)中的数据按数据库的规定进行 文件结构化,存放在数据库中。 数据独立于应用程序,又能为所有应用程序提供服务,这是大规模工程数据的主要处理方法。 简单数表(离散数据) 只能检索,不能插值 函数数表(函数表达式) 可检索,非数表中的数据可通过函数插值求得 程序实现 查的的包角可能不会正好是表中所列的值 应调用一元函数插值求解 表中D/d及r/d值在一定范围内是随机的,必须采用二元函数插值 实际编程时,设已知D, d, r,在定义二维数组AA[6][10],调用二元插值函数,即可求得应力集中系数 在工程设计中,时常遇到一些线图供查找系数或参数等使用,如齿轮传动的动裁荷系数 最好找到线图原来的公式,将公式编入程序 这是最精确的程序化处理办法。 并非所有的线图都存在着原来的公式,即使有也难找到 解决办法: 将线图转换成相应的数表 数表中没有的节点值采取插值法求得 将线图公式化 齿宽系数的数表化 转化后的齿向载荷分布系数的数表 齿宽系数数表的程序化 齿宽系数数表的程序化 int main() { int K3, K4; //K3 = 0~3; K4 = 0~ 2 double PD; double Kb; double D[] = {0.2, 0.4, …, 1.6}; double Data[4][2][8] = {{{0, 1, 1.005, …, 1.13}, {…}}, {{…}, {…}}, {…}, {…}}; while(1) {//获取K3输入 scanf(K3); if( K3 = 3 K3 = 0) break; } // …获得其他输入 int index = GetIndex(D, PD); //近似得到index,??? Kb = Data[K3][K4][index]; } 齿轮传动的动裁荷系数kv值的线图 1)直角坐标系线图 2)对数坐标系线图 对于图中的80~100A直线段,取其上两点的坐标, x1 = 1, y1 = 和 x2 = 6.3,y2 = 1600 代人下列两点式直线方程 4.3 常用设计数据处理方法 一、列表函数插值 一元列表函数的插值 线性插值 抛物线插值 二元列表函数的插值 直线-直线插值 抛物线-直线插值 抛物线-抛物线插值 二、列表函数公式化 插值定义 4.3.1一元列表函数插值 设有设有一用数据表格给出的列表函数y=f(x) 线性插值 步骤 从一维列表中选取 两个邻近的自变量x1和x2, 并满足x1xx2 用过A、B两点的直线g(x)代替原有函数f(x), 则由解析几何可写出对称式直线方程的表达式为 记 整理得 一维线性插值 //p.x已知,求p.y bool GetValue_Line1(const point p1, const point p2, point p) { if(p.x p1.x || p.x p2.x) //??? return false; double A1x = (p.x – p2.x)/(p1.x – p2.x); double A2x = (p.x – p1.x)/(p2.x – p1.x); p.y = A1x*p1.y + A2x*p2.y; return true; } 抛物线插值(1) 插值多项式 抛物线插值(2) 选取三个合适的插值点 原则 选取得三个插值点与待求得插值点临近 步骤 一维抛物线插值 //p.x已知,求p.y bool GetValue_Parabola1(const point p1, const point p2, const point p3, point p) //或const point[3], point p { if(p.x p1.x || p.x p3.x) //??? return fal

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档