机械设计编程基础一、输入输出语句的应用二、逻辑判断语句的应用三、窗口界面的应用2-1人机交互式程序的编制设计资料的程序化常见的设计资料包括:计算公式,经验公式,实验数据,实验曲线,图表以及各种标准和规范等。所以我们可以将设计资料分为:公式,数表,线图。在机械CAD中,需要把设计中所需要的数据,资料,及有关公式和过程进行程序化。1.设计资料程序化2.数据库存储一、设计公式的程序化根据设计资料中的公式进行计算,可以将每个公式编成为一个子程序或者函数,公式中的待定设计参数作为变量。设计资料中有理论公式和经验公式,对于理论公式,我们尽量采用原始公式,使得计算结果更为精确。对于经验公式,有些参数的取值不确定,对于这类参数的取值,建议采用两种方法:1.对于可变性较大的参数,可以作为计算子程序或者函数的输入变量,每次有用户根据具体问题输入参数值。2.对于相对来说比较固定的参数值,可以采用数据库或者别的形式直接放入CAD系统中。此时参数值可以修改,但是不必每次输入。二、数表的程序化方法在机械设计中,又很多参数之间的关系没有办法用简单的数学公式表达。例如:设计带传动中包角系数为了更好的将数表程序化,我们首先应该了解数表的类型。包角708090100。。。150160。。。220K0.560.620.680.73。。。0.920.95。。。1.21.数表的分类:按照数表中的数据间有没有函数关系,数表分为:简单数表和列表函数数表。简单数表记录着研究对象各自独立的常数,表中的数据没有函数关系,只能检索,不能插值。例如齿轮模数等等。列表函数数表中的数据间存在函数关系,Yi=f(Xi),i=1,2,3…。将相应的数据Xi和Yi列成表格表示参数间的关系,这样的函数为列表函数,这样的数表为列表函数数表。对于列表函数数表我们可以用插值法来查取数据。按照数表中的数据相关的变量的个数,我们可以将数表分为一元数表,二元数表,三元数表等。一元数表中的数据是独立的,或者只与一个因素有关,这种数表可以用一个一维数组来表示。二元数表的数据与两个因素有关,可以用二维数组表示。三元数表中的数据与三个因素有关,可以用三维数组表示。如书中例题一:标准胶带型号及断面尺寸只有一个自变量,每个数据都为一元数表,可以用一维数组表示。如书中例题五:轴肩圆角处理论应力集中系数aa此时决定aa有两个自变量,D/d和r/d,所以这是二维查表问题。2.简单数表的查取方法举例:查表渐开线圆柱齿轮的模数基本步骤如下1).定义变量和数组:存放模数的计算值(齿距/Pi),数组存放模数的标准值。2).用循环过程判断计算值在数组中的位置。3).确定标准模数。第一系列1,1.25,1.5,2,2.5,3,4,5,6,8,10,12,16,20,25,32,40,50第二系列1.75,2.25,2.75,(3.25),3.5,4.5,5.5,(6.5),7,9,(11),14,18,22,28,36,453.列表函数数表的查取方法由于列表函数数表个数据之间存在函数关系,因此在查取数据时就存在一个插值问题。插值问题和插值多项式:实际问题中若给定函数y=f(x)是区间[a,b]上的一个列表函数(xi,yi)(i=0,1,2,3...,n),如果x[a,b],且f(x)在区间[a,b]上是连续的,要求用一个简单的,便于计算的解析表达式p(x)在区间[a,b]上近似f(x),使p(xi)=yi,i=0,1,2...,n就称p(x)为f(x)的插值函数,点x0,x1...,xn称为插值节点,包含插值节点的区间[a,b]称为插值区间.我们将称为插值多项式。nnxaxaaxP...)(103.1一元列表函数数表的插值当我们在进行机械设计时,往往用到的一些参数存在某种函数关系y=f(x),然而要想直接找到这种函数关系的解析表达式是比较复杂和困难的,然而我们可以在现有的函数定义区间通过某些方法得到一些离散点的函数值:yi=f(xi),i=1,2,3…。此时我们得到的是一个一维列表函数的数表:此时,我们需要做的就是寻找一个函数p(x),使得在某个小区间内p(x)可以替代f(x)。XX1X2X3X4X5…Xi…XnYY1Y2Y3Y4Y5…Yi…Yn线性插值1)给定x,且xi