




已阅读5页,还剩59页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章机械设计程序设计的基本方法 机械设计程序设计就是借助计算机完成机械设计计算过程 在进入计算之前 需要确立设计方法 原始参数以及对数据资料的处理等 计算之后 要对输出结果进行分析 判断 不满足要求处应采取修改措施等 程序设计就是人与计算机的有机组合 主要有三大步骤 前处理程序设计后处理 1 第一章机械设计程序设计的基本方法 设计方法确定 原始数据输入 设计资料程序化 数值计算 是否满足要求 打印输出结果 选择最佳方案 前处理 程序设计 后处理 N Y 2 第一章机械设计程序设计的基本方法 1 1机械设计程序设计的特点1 具有多方案的输出 可从中进行选优 2 加深对设计参数的理解 从定性分析提高到定量分析 3 加深对设计理论的认识 提高分析问题 解决问题的能力 4 拓宽知识面 5 为采用新的设计方法打下基础 3 第一章机械设计程序设计的基本方法 1 2程序设计的一般步骤1 软件需求分析 拟定任务书 2 建立数学模型 3 选择计算方法 4 程序框图设计 5 处理表格和线图资料 6 编制程序 7 调试源程序8 准备原始数据和资料 正式运算 9 分析计算结果并进行改进 4 第一章机械设计程序设计的基本方法 1 3程序结构的模块化处理所谓模块化程序设计方法就是将一个待设计的大型软件按功能划分为若干个相对独立的 易于处理的基本单元 即模块 分别编写程序进行调试 然后用一个主控模块将各独立模块连接起来 调用不同的功能模块可完成不同的设计计算功能 1 3 1程序结构模块的要求1 各模块具有相对独立性2 模块之间具有分解性和组合性 5 第一章机械设计程序设计的基本方法 1 3 2程序结构模块的基本结构1 顺序结构 A B 入口 A B N S图 6 第一章机械设计程序设计的基本方法 2 选择结构 条件 A B E 入口 出口 是条件否 AB 条件 case1 case2 caseN 7 第一章机械设计程序设计的基本方法 3 循环结构 A 条件 入口 N Y 出口 条件 A Y N 入口 出口 A UNTIL A WHILE 8 第一章机械设计程序设计的基本方法 1 3 3程序结构模块化的特点1 模块化程序的结构良好 层次分明 易懂易读 2 单入口单出口 便于修改 3 一个模块完成一定的功能 功能单一 便于程序的调试 4 便于扩展程序的功能和使用范围 5 节省内存空间 实现微机运行大程序 9 第一章机械设计程序设计的基本方法 1 3 4模块化程序设计方法所谓模块化程序设计方法就是将一个待设计的大型软件按功能划分为若干个相对独立的 易于处理的基本单元 即模块 分别编写程序进行调试 然后用一个主控模块将各独立模块连接起来 调用不同的功能模块可完成不同的设计计算功能 在完成各模块的程序设计后 只要将各模块之间 按系统设计的要求来进行链接 就可完成整个系统的程序设计 10 第一章机械设计程序设计的基本方法 模块化程序结构层次 主控模块 功能模块 子模块1 子模块N 11 主控程序选择功能模块程序代码 闭式标准圆柱齿轮传动设计计算功能模块程序 闭式变位圆柱齿轮传动设计计算功能模块程序 闭式圆锥齿轮传动设计计算功能模块程序 开式标准圆柱齿轮传动设计计算功能模块程序 开式变位圆柱齿轮传动设计计算功能模块程序 开式圆锥齿轮传动设计计算功能模块程序 子模块程序 可供各功能模块共享 求KA子模块 求 Hlim Flim子模块 K 1 K 2 K 3 K 4 K 5 K 6 齿轮传动模块化结构图 12 1 4软件的调试源程序编写好以后 还需要花费大量的时间去修正 调试 维护 实践证明 设计人员在调试阶段所花费的时间要比设计程序所花的时间还要多 因此 掌握程序的调试方法 对设计人员是相当重要的 程序调试一般可分为三步 1 静态检查程序编制完后不要急于上机 要仔细检查每个细节 力争将错误消除在上机之前 第一章机械设计程序设计的基本方法 13 2 语法检查将程序输入计算机进行语法检查 对于模块化设计的软件 应将各功能模块逐个进行调试 待分别调试成功后 再链接成系统进行调试 在调试过程中 可在程序适当地方插入一些打印语句 暂停语句来输出 查询有关数据 以便找出错误所在 3 实例验证为了使软件设计正确可靠 应进行大量的实例验证 在实例验证时要确保所有程序路径无一漏检 第一章机械设计程序设计的基本方法 14 第二章数表及线图信息的程序化处理 2 1数表的程序化 2 1 1查表检索法数据存储的三种基本方式 1 把数据直接编在解题的程序中 2 建立数据文件 3 建立数据库 15 第二章数表及线图信息的程序化处理 1 一维数表的存取 cbjs1 c cbjs2 c 表2 1普通V带型号及有关参数 voidmain ints doubleq1 dm kb cout s 16 第二章数表及线图信息的程序化处理 switch s case1 q1 0 02 dm 20 kb 0 00006 break case2 q1 0 06 dm 50 kb 0 00039 break case3 q1 0 1 dm 75 kb 0 00103 break case4 q1 0 17 dm 125 kb 0 00265 break case5 q1 0 3 dm 200 kb 0 0075 break case6 q1 0 62 dm 355 kb 0 0266 break case7 q1 0 9 dm 500 kb 0 0498 cout q1 q1 dm dm kb kb n 运行 17 第二章数表及线图信息的程序化处理 voidmain ints doubleq1 7 0 0 02 0 06 0 10 0 17 0 30 0 62 0 90 doubledm 7 0 20 50 75 125 200 355 500 doublekb 7 0 0 00006 0 00039 0 00103 0 00265 0 0075 0 0266 0 0498 cout s cout q1 q1 s dm dm s kb kb s n 程序运行 模块运行 18 第二章数表及线图信息的程序化处理 2 二维数表的存取 cbjs3 c 表2 2齿轮传动工作情况系数KA voidmain doubleka inti j 19 第二章数表及线图信息的程序化处理 doublekk 3 3 1 0 1 25 1 75 1 25 1 5 2 0 1 5 1 75 2 25 cout i j ka kk i j cout ka ka n 模块运行 程序运行 20 第二章数表及线图信息的程序化处理 3 区间检索 cbjs4 c 表2 4平键尺寸 21 第二章数表及线图信息的程序化处理 voidmain inti d intdd 12 6 8 10 12 17 22 30 38 44 50 58 intb 11 2 3 4 5 6 8 10 12 14 16 18 inth 11 2 3 4 5 6 7 8 8 9 10 11 cout d for i 0 i 10 i if d dd i 1 break cout d d b b i h h i n 运行 22 第二章数表及线图信息的程序化处理 4 数表的插值处理 1 一维数表的线性插值 cbjs5 c 已知条件 给定x 求其函数值y 方法 如图2 1所示 选取两个相邻自变量xi与xi 1 满足条件xi x xi 1 过 xi yi 及 xi 1 yi 1 两点连直线g x 代替原来f x 则y为 y yi yi 1 yi x xi xi 1 xi 23 第二章数表及线图信息的程序化处理 图2 1一维数表的线性插值 24 第二章数表及线图信息的程序化处理 voidmain inti doublet u f kf af doublex 13 120 125 130 135 140 145 150 155 160 165 170 175 180 doubley 13 0 82 0 84 0 86 0 88 0 89 0 91 0 92 0 93 0 95 0 96 0 98 0 99 1 表2 5包角系数K 25 第二章数表及线图信息的程序化处理 cout t if t x 12 i 12 elsefor i 1 i 12 i if t x i i i 1 break u t x i x i 1 x i f y i u y i 1 y i kf f af t cout af af kf kf n 运行 26 第二章数表及线图信息的程序化处理 2 二维数表的线性插值 cbjs6 c 先固定xi 根据Z xi yi 和Z xi yi 1 运用一元线性插值法求得函数值ZE xi y 再固定xi 1 根据Z xi 1 yi 和Z xi 1 yi 1 运用一元线性插值法求得函数值ZF xi 1 y 根据上一步求得的ZE xi y 和ZF xi 1 y 再次运用一元线性插值法求得函数值Z x y 27 第二章数表及线图信息的程序化处理 图2 2二维数表的线性插值 28 第二章数表及线图信息的程序化处理 二元线性插值计算公式 Z x y 1 1 Zi j 1 Zi j 1 1 Zi 1 j Zi 1 j 1式中 x xi xi 1 xi y yi yi 1 yi 29 第二章数表及线图信息的程序化处理 表2 6轴肩圆角的有效应力集中系数k voidmain inti j ki kj doubleax ay ap bt f 30 第二章数表及线图信息的程序化处理 doublex 6 0 0 01 0 02 0 03 0 05 0 1 doubley 9 0 400 500 600 700 800 900 1000 1200 doublez 6 9 0 0 1 34 1 36 1 38 1 40 1 41 1 43 1 45 1 49 0 1 41 1 44 1 47 1 49 1 52 1 54 1 57 1 62 0 1 59 1 63 1 67 1 71 1 76 1 80 1 84 1 92 0 1 54 1 59 1 64 1 69 1 73 1 78 1 83 1 93 0 1 38 1 44 1 50 1 55 1 61 1 66 1 72 1 83 for i 1 i 4 i if ax x i 1 ki i break elseki 4 31 第二章数表及线图信息的程序化处理 for j 1 j 7 j if ay y j 1 kj j break elsekj 7 ap ax x ki x ki 1 x ki bt ay y kj y kj 1 y kj f 1 ap 1 bt z ki kj bt 1 ap z ki kj 1 ap 1 bt z ki 1 kj ap bt z ki 1 kj 1 cout f f n 运行 32 第二章数表及线图信息的程序化处理 3 一维数表的抛物线插值 cbjs7 c 为改善计算精度 采用多点插值法 工程上常用的是一元三点抛物线插值 拉格朗日Lagrange三点插值 方法 它是利用所选定的三个结点上的信息 由公式计算插值函数值 如图2 3所示 在f x 上取三点 过三点作抛物线g x 以g x 替代f x 可以获得比线性插值精度高的结果 33 第二章数表及线图信息的程序化处理 图2 3一维数表的抛物线插值 34 第二章数表及线图信息的程序化处理 设已知插值点x 则抛物线插值公式为 y yi x xi 1 x xi 2 xi xi 1 xi xi 2 yi 1 x xi x xi 2 xi 1 xi xi 1 xi 2 yi 2 x xi x xi 1 xi 2 xi xi 2 xi 1 插值结点的选择如下 当x x2时 x1 x x2 取i 1 抛物线通过最初三个结点 P1 P2 P3 靠近表头 当x xn 1时 xn 1 x xn 取i n 2 抛物线通过最后三个结点 Pn 2 Pn 1 Pn 靠近表尾 当x靠近xi 1 即 x xi x xi 1 则补选xi 2为结点 取hi i 当x靠近xi 即 x xi x xi 1 则补选xi 1为结点 取hi i 1 35 第二章数表及线图信息的程序化处理 voidmain inti z hi doublex1 x2 x3 u v w yf intx 17 0 20 24 26 28 30 32 35 37 40 45 50 60 80 100 150 300 doubley 17 0 1 98 1 88 1 85 1 80 1 76 1 71 1 64 1 61 1 55 1 48 1 45 1 40 1 34 1 30 1 27 1 24 cout z 表2 7蜗轮齿形系数YF 36 第二章数表及线图信息的程序化处理 for i 1 i1 运行 37 第二章数表及线图信息的程序化处理 2 1 2数表解析法1 最小二乘法的基本原理最小二乘法的基本原理是要求各个结点偏差的平方和为最小 采用最小二乘法 就是将表格或线图中n组数据 xi yi i 1 2 3 n 之间的对应函数关系 用一个m次 一般常用m 2或3 m n 的多项式来近似表达 2 最小二乘法的多项式拟合根据最小二乘法原理知 求出 a1 a2 a3 am 1 为极小时的a1 a2 a3 am 1值 并将这些系数代入式 2 1 就得到偏差平方和为最小的多项式拟合公式 38 第二章数表及线图信息的程序化处理 include iostream h include stdio h include math h include 最小二乘法程序 h voidmain x 1 16 x 2 20 x 3 24 x 4 28 x 5 32 x 6 36 x 7 40 x 8 45 x 9 50 表2 8弧齿锥齿轮几何系数J 3 程序及实例 sbjx1 c 39 第二章数表及线图信息的程序化处理 y 1 0 171 y 2 0 186 y 3 0 2005 y 4 0 214 y 5 0 226 y 6 0 234 y 7 0 245 y 8 0 2625 y 9 0 28 cout m cout n linear for j 1 j n j y j 0 for i 1 i kk i 40 第二章数表及线图信息的程序化处理 y j y j a i jj pow x j i 1 cout 多项式系数 n for i 0 i kk 1 i cout a i a i 1 jj n cout 拟合计算值 n for j 1 j n j cout y j y j n 41 第二章数表及线图信息的程序化处理 include stdio h include math h intl m ni j kll jj kk kp doublea 10 11 s 10 t 10 x 10 y 10 doubleb p temp voidlinear ll 2 m 1 kk m 1 jj kk 1 for l 2 l ll l s l 0 0 最小二乘法程序 h 42 第二章数表及线图信息的程序化处理 s 1 n for k 1 k kk k t k 0 0 for i 1 i n i b 1 0 t 1 t 1 y i for j 2 j kk j b x i b s j s j b t j t j y i b for j jj j ll j b x i b s j s j b 43 第二章数表及线图信息的程序化处理 for i 1 i kk i for j 1 j kk j k i j a j i s k 1 for i 1 i kk i a i jj t i for k 1 k n k p 0 for i k i n i if p fabs a i k 44 第二章数表及线图信息的程序化处理 p fabs a i k l i if p 0 0000000001 cout 无解 n return else for j k j jj j temp a k j a k j a l j a l j temp kp k 1 for j kp j jj j a k j a k j a k k 45 第二章数表及线图信息的程序化处理 for i 1 i kk i if i k for j kp j m j a i j a i j a i k a k j 最小二乘法程序 46 第二章数表及线图信息的程序化处理 拟合结果 本程序中的拟合曲线次数m 2 拟合曲线结点数n 9 运行结果为 a0 0 118629 a1 0 003489 a2 0 000006 相应的几何系数的解析公式为 J 0 118629 0 003489Z1 0 000006Z12若拟合曲线次数m 3 其他数据不变 运行结果为 a0 0 063518 a1 0 009311 a2 0 000195 a3 0 000002 相应的几何系数的解析公式为 J 0 063518 0 009311Z1 0 000195Z12 0 000002Z13 运行 47 第二章数表及线图信息的程序化处理 2 2线图的程序化线图是函数关系的一种常用表示方法 它的特点是直观形象 能看出函数的变化规律 因此在设计资料中 有些参数间的函数关系是用线图来表示的 包括直线 折线和各种曲线图 其中直线和折线常用在对数坐标中 在一般坐标中大多是曲线 线图本身不能用来直接解题 在解题时 参与解题的是根据线图查得的一些相应的数据 因此 在机械设计工程中 必须把线图变换成相应的数据形式 存储在CAD系统中 供解题时检索和调用 线图的程序化主要包含两部分基本内容 一是将线图变换成相应的数表 二是按照前述的方法 进行数表的程序化处理 48 第二章数表及线图信息的程序化处理 2 2 1直线线图的处理方法线图中最简单的是直线 它可以通过取直线上任意两点的坐标值来求其斜率 并写出其直线方程式 图2 5齿轮传动动载系数KV值 49 第二章数表及线图信息的程序化处理 其处理方法如下 先从线图中分别找出各种精度等级的直线两已知点 x1 y1 x2 y2 求出该直线的斜率 y2 y1 x2 x1 k i 由齿轮的精度等级i 圆周速度V和小齿轮的齿数Z1可写出求动载系数Kv的计算式 Kv k i V Z1 100 1 50 第二章数表及线图信息的程序化处理 2 2 2曲线线图的处理方法1 一般曲线线图的处理 1 转化成数表的形式从给定的曲线图上读取离散的若干结点的坐标值 制成数表 然后使用前述的数表程序化的方法 该方法适合于当用近似式达不到所要求的精度或难以建立近似式时 其优点是较忠实地恢复原图 2 采用拟合方法建立表达式这种方法是在允许的误差范围内 为给定的线图建立与之对应的近似式 用近似式来拟合曲线 然后编制计算程序 近似式的建立方法很多 最简单常用的方法是在上节已经介绍过的最小二乘法 51 第二章数表及线图信息的程序化处理 2 对数线图的处理 sbjx2 c 在机械设计中除了常见的直角坐标线图外 还常会碰到对数坐标线图 如V带传动 链传动设计中 根据传递功率和主动轮转速选择V带和链条型号的选型图 对数坐标上直线的处理方法与一般直角坐标线图不同 必须进行对数运算 图2 6中直线的数学模型可如下表达 图2 6对数坐标上的数学模型 52 第二章数表及线图信息的程序化处理 由此得到对数坐标的直线方程 即 例 编制根据设计功率Pc和小带轮的转速n1检索普通V带型号线图 见图2 7 的程序 由图2 7可以看出 为了由程序来判断所给定的Pc和n1在选型图中属于哪个区间 必须将各型号的边界线用数学式子来表达 根据图2 6所说明的道理 图2 7中各条边界线的表达式为 53 第二章数表及线图信息的程序化处理 图2 7普通V带选型图 54 第二章数表及线图信息的程序化处理 Z型带与A型带的边界线方程为 即 其他各型号带之间的边界线C值分别为 A型带与B型带 55 第二章数表及线图信息的程序化处理 以上五条边界线 将图2 7划分为六大区间 然后在各区间分别判断它属于哪种型号 B型带与C型带 C型带与D型带 D型带与E型带 56 第二章数表及线图信息的程序化处理 根据以上分析 就可编制出V带型号的检索程序 其参考程序如下 sbjx2 c include math h voidmain doublepc n1 c 5 inti s cout pc n1 c 0 log 365 log 2500 log 365 log pc log 0 8 log 5 log 0 8 log 10 c 1 log 100 log 1500 log 100 log pc log 1 log 10 log 1 log 10 57 第二章数表及线图信息的程序化处理 c 2 log 100 log 870 log 100 log pc log 3 15 log 18 log 3 15 log 10 c 3 log 100 log 700 log 100 log pc log 9 log 40 log 9 log 10 c 4 log 100 log 500 log 100 log pc log 50 log 200 log 50 log 10 for i 0 i pow 10 c i break s i cout pc pc n1 n1 s s n 程序运行 模块运行 58 第二章数表及线图信息的程序化处理 2 3其他数表的处理 sbjx3 c 机械设计工程中 经常需要将一些设计计算结果圆整到标准值或规定值 如齿轮传动中的模数m V带的基准长度Ld等均有规定的标准 或要求按照一定的精度圆整计算结果 如齿轮分度圆直径常取小数点后三位 单位为mm 零件的外形及结构尺寸尽可能圆整为整数 齿轮螺旋角精确到秒 2 3 1标准值的圆整 表2 9圆柱齿轮标准模数系列 59 第二章数表及线图信息的程序化处理 voidmain inti doublemm mn doublem 25 1 1 25 1 5 1 75 2 2 25 2 5 2 75 3 3 5 4 4 5 5 5 5 6 7 8 9 10 12 14 16 18 20 22 cout mm for
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应急与安全培训演练记录课件
- 难点详解浙江省义乌市中考数学必背100题【轻巧夺冠】附答案详解
- 数字系统设计与VHDL(第3版)教案-第7章VHDL基本语句
- 2024自考公共课自我提分评估含完整答案详解【历年真题】
- 信息素养基础工具与使用规范
- 2025年废弃矿井资源再利用技术政策法规与产业规范报告
- 2025年在线教育平台教学质量评估与教学反馈机制构建报告
- 中小学英语教学模式优化的实践路径与策略
- 江苏省苏州市2025-2026学年高三上学期期初阳光调研政治试题(含答案)
- 项目四汽车电器与空调维护(一级维护)
- 集装箱货物高效清关代理服务合同范本
- 2025年结构上岗试题及答案
- 教科版小学五年级上册科学实验报告20篇
- 2025-2026学年人教版(五线谱)(2024)小学音乐三年级上册教学计划及进度表
- 江西省宜春市2025年上半年事业单位公开遴选试题含答案分析
- 代销理财管理办法
- 医院物业管理质量标准及服务流程
- DR培训考试题及答案
- 脑卒中并发吞咽障碍个案护理
- 《中兽药生产技术》课件-14.中药炮制方法-火制
- 人力资源招聘与甄选工作标准化手册
评论
0/150
提交评论