《计算机辅助机械设计》课件第2章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《计算机辅助机械设计》课件第2章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机辅助机械设计 计算机辅助 机械设计 课件
- 资源描述:
-
1、第2章 机械设计数表处理 第2章 机械设计数表处理 2.1 非函数表处理非函数表处理 2.2 函数表处理函数表处理 2.3 数值处理数值处理 习习 题题第2章 机械设计数表处理 为了便于编写计算机查询程序,可将数表进行分类。按数表中数据之间是否具有客观的连续函数关系,分为两大类型。数据之间存在连续函数关系的数表称为函数表,如V带传动中,小带轮的包角1与包角系数k1的关系表;否则,则称为非函数表,如V带的型号与V带截面尺寸的关系表。函数表可以使用插值法或拟合公式获得表中未列出的数据,非函数表则不能。第2章 机械设计数表处理 查询数表的基本思路是,用某种方法把数表的数据存储到数组中,再用循环语句和
2、判断语句将已知参数(即输入参数)和数组的元素值进行比较,找到匹配或相对应的数组元素的下标,做一些相应的必要处理,即可获得正确的查询结果。进而,根据处理程序中必须使用的数组的最高维数,还可以把数表分为一维数表、二维数表、三维数表等多种类型。此外,还可以根据数表中数据是否规则排列,分为规则数表和不规则数表。对于不规则数表,应作必要的手工“预处理”使之规则化,比如把数表拆分、把数据重新排列、增删一些数据等等,以便于程序的编写。数表类型列于表2-1中,供读者参考。第2章 机械设计数表处理 表表2-1 数数 表表 分分 类类 第2章 机械设计数表处理 把数据存储到数组中是编写数表处理程序时需要解决的一个
3、基本问题。根据数表中的数据量和使用的编程语言不同,可以灵活采用不同的解决方案。若用Visual Basic 6.0语言编程,如果数据量不大,比如数据不超过400个,比较简捷的方法是用array()函数构建一维数组,还可通过构建一维数组,再把一维数组的数据用循环语句赋给二维数组、三维数组 的方法构建多维数组。如果数据量太大,用array()函数构建一维数组将受最大换行数的限制,则可把数据事先用手工写入文本文件并存入磁盘中,在程序运行中通过文件操作把数据转存到数组中。如果采用Visual FoxPro 6.0编程,则可用copy to array 语句把表(该表中事先已存入待处理数据)中数据赋给二
4、维数组。第2章 机械设计数表处理 2.1 非函数表处理非函数表处理2.1.1 规则非函数表处理规则非函数表处理 1.一维规则非函数表一维规则非函数表 1)单行表 表2-2是普通平键的长度系列表。该表仅有一行数据,属单行表。表中所列的长度系列值,用于一般机械传动。平键长度的手工查询过程是,根据轮毂长度B,从表2-2中查出相近的标准长度L。考虑到轮毂两端和平键两端一般情况下都需要倒角,通常,保证(B-L)min=5 mm 即可。例如,轮毂长度B=58 mm,相近的标准长度有56 mm、50 mm,取L=50 mm,见表中阴影处。又如,轮毂长度B=12 mm,相近的标准长度有12 mm、10 mm、
5、8 mm、6 mm,取L=6 mm。第2章 机械设计数表处理 表表2-2 普通平键长度系列表普通平键长度系列表 第2章 机械设计数表处理 计算机程序查询的过程是,先把数据存入一维数组,再通过循环语句嵌套判断语句,将输入参数(轮毂长度)与数组元素值逐个比较。如果满足某种条件,则退出循环,此时的循环次数就反映了输入参数在数组(数表)中的大致位置(行或列),然后进行相应的分析与判断,即可查出所需的标准平键长度。计算机查询程序所用参数见表2-3。程序的流程图见图2-1。程序运行时,窗体外观见图2-2、图2-3。第2章 机械设计数表处理 表表2-3 查询平键长度的程序参数表查询平键长度的程序参数表 第2
6、章 机械设计数表处理 图2-1 平键长度查询程序的流程图 第2章 机械设计数表处理 图2-2 平键长度查询前的窗体外观 第2章 机械设计数表处理 图2-3 平键长度查询后的窗体外观 第2章 机械设计数表处理 窗体frmpj.frm的全部代码,见代码2-1。代码2-1 窗体frmpj.frm的全部代码 Option Explicit 选用显式声明,即变量先声明,后使用Option Base 1 声明数组下标从1开始Private Sub Command1-Click()功能:定义变量、接收输入、查 询、显示 Dim shuruL As Single Dim biaozhunL As Single
7、 Dim x As Integer Dim L shuruL=Val(txtshuruL.Text)为shuruL赋值,实现输入 第2章 机械设计数表处理 If shuruL 12 Then MsgBox(长度不得小于12mm!):Exit Sub 用array()函数定义一个一维数组L,存储平键长度数据。根据VB规定,这个一维数组L,必须定义为变体型variant(variant是VB的默认类型,可省略)L=Array(6,8,10,12,14,16,18,20,22,25,28,32,36,40,45,50,56,63,70,80,90,-100,110,125,140,160,180,2
8、00,220,250,280,320,360,400,450,500)For x=1 To UBound(L)If shuruL=L(x)Then Exit For Next x y=1While shuruL L(x-y)+5 y=y+1WendbiaozhunL=L(x-y)第2章 机械设计数表处理 txtbiaozhunL.Text=biaozhunL 为文本框的text属性赋值,显示查询结果,实现输出End SubPrivate Sub Form-Initialize()窗体初始化事件,为对象赋初值 txtshuruL.Text=文本框置空 txtbiaozhunL.Text=End
9、Sub 注意:VB规定,一个语句在一行写不下或编写者嫌太长时,可换行接着写。此时,必须在行尾加一个空格和一个下划线“-”。第2章 机械设计数表处理 2)多行表 表2-4是普通V带型号与相应初拉力增量F0的关系表。表中有两行数据,属多行表。从表中可以看出,普通V带型号不同,其初拉力的增量F0也不同,即F0大小随着带型号变化,但两者之间并不存在客观上的连续函数关系。手工查询F0的过程是,根据普通V带型号查找其所在列,该列的F0即为所要查的。例如,型号为B,F0=20 N。计算机查询程序设计时,可用两个一维数组分别存储第一行(带型号)和第二行(F0)的值。因为两行数据个数相同,上下一一对照,所以,查
10、到输入型号所在列数,以该列数为下标的F0数组元素值,就是该型号的F0值。程序所用参数见表2-5,流程图见图2-4,程序运行时,窗体外观见图2-5、图2-6。第2章 机械设计数表处理 表表2-4 初拉力的增量初拉力的增量F0 第2章 机械设计数表处理 表表2-5 处理初拉力增量的程序参数表处理初拉力增量的程序参数表 第2章 机械设计数表处理 图2-4 F0查询程序的流程图 第2章 机械设计数表处理 图2-5 F0查询前的窗体 第2章 机械设计数表处理 图2-6 F0查询后的窗体 第2章 机械设计数表处理 窗体frmdltf0.frm的全部代码,见代码2-2。代码2-2 窗体frmdltf0.fr
11、m的全部代码 Option Explicit Option Base 1Private Sub Command1-Click()功能:定义变量、接收输入、查询、输出显示 Dim x as integer Dim vdxh As String Dim dltf0 As Single Dim vdxhsz 定义存储带型号的变体型变量 Dim dltfsz 定义存储初拉力增量的变体型变量 vdxh=Trim(cbovdxh.Text)为vdxh赋值,实现输入 vdxhsz=Array(Y,Z,A,B,C,D,E)dltfsz=Array(6,10,15,20,29.4,58.8,108)第2章 机械
12、设计数表处理 For x=1 To UBound(vdxhsz)If vdxh=vdxhsz(x)Then Exit For Next x dltf0=dltfsz(x)lbldltf0.Caption=dltf0 为对象dltf0的caption属性赋值,显示查询结 果,实现输出 End Sub Private Sub Form-Load()功能:为对象赋初值 cbovdxh.Text=A End Sub 第2章 机械设计数表处理 值得说明的是,对于表2-4,也可把全部数据存储到二维数组中,再作相应的处理。但由于为二维数组赋值的代码量相对增大,故此处不宜采用。实践证明,对于一维规则非函数表,
13、采用一维数组处理显得比较简单,行列数越多越明显,如表2-6所示的普通V带截面尺寸表。下面就给出该表的计算机查询程序的流程图(见图2-7),程序参数(见表2-7),读者可参照编写该表的处理程序。第2章 机械设计数表处理 表表2-6 普通普通V带截面尺寸带截面尺寸 第2章 机械设计数表处理 表表2-7 处理处理V带截面尺寸的程序参数表带截面尺寸的程序参数表 第2章 机械设计数表处理 图2-7 V带截面尺寸查询程序的流程图 第2章 机械设计数表处理 2.二维规则非函数表二维规则非函数表 一维规则非函数表在查询时,只需要一个输入参数,存储数据使用一维数组即可,这是比较简单的情况。与此不同,多维规则非函
14、数数表在查询时,需要一个以上的输入参数,存储数据不仅需要一维数组,还需要两维甚至更多维数的数组。表2-8为链传动工作情况系数KA表,查询时需要两个输入参数,即工作机实际工作情况和原动机实际工作情况;需要两个内部一维数组,分别存储工作机情况数据和原动机情况数据;需要一个内部二维数组,存储工作情况系数KA。手工查询过程是,查找工作机实际工作情况所在行,查找原动机实际工作情况所在列,行、列交点处的数据即为KA。例如,工作机实际工作情况为“中等振动”,原动机实际工作情况为“轻微振动”,1.5就是要查的KA。与手工查询类似,计算机查询的过程如图2-8所示,其参数见表2-9,运行时的窗体外观见图2-9、图
15、2-10。第2章 机械设计数表处理 表表2-8 链传动工作情况系数链传动工作情况系数KA 第2章 机械设计数表处理 图2-8 链传动工作情况系数KA查询程序的流程图第2章 机械设计数表处理 表表2-9 处理链传动工作情况系数处理链传动工作情况系数KA的查询程序参数表的查询程序参数表 第2章 机械设计数表处理 图2-9 链传动工作情况系数KA查询前的窗体外观 第2章 机械设计数表处理 图2-10 链传动工作情况系数KA查询后的窗体外观 第2章 机械设计数表处理 窗体frmkA.frm的全部代码,见代码2-3。代码2-3窗体frmkA.frm的全部代码 Option Explicit Option
16、 Base 1 Private Sub Command1-Click()功能:定义变量与数组、接收输入、查询、显示结果 Dim gjqk As String Dim yjqk As String Dim ka As Single Dim gjqksz Dim yjqksz Dim kaywsz Dim kaewsz(4,4)As Single 第2章 机械设计数表处理 Dim X As Integer Dim Y As Integer Dim js As Integer gjqk=Trim(cbogjqk.Text)yjqk=Trim(cboyjqk.Text)gjqksz=Array(平稳转
17、动,中等振动,严重振动)yjqksz=Array(转动平稳,轻微振动,中等振动)kaywsz=Array(1,1.1,1.3,1.4,1.5,1.7,1.8,1.9,2.1)js=0 For X=1 To UBound(gjqksz)For Y=1 To UBound(yjqksz)js=js+1 kaewsz(X,Y)=kaywsz(js)Next Y Next X 第2章 机械设计数表处理 For X=1 To UBound(gjqksz)If gjqk=gjqksz(X)Then Exit For Next X For Y=1 To UBound(yjqksz)If yjqk=yjqks
18、z(Y)Then Exit For Next Y ka=kaewsz(X,Y)txtka.Text=ka End Sub Private Sub Form-Initialize()功能:为组合框对象的Text属性赋初值 cbogjqk.Text=cbogjqk.List(0)cboyjqk.Text=cboyjqk.List(0)txtka.Text=End Sub 第2章 机械设计数表处理 3.三维规则非函数表三维规则非函数表 表2-10所示为普通V带传动的工作情况系数KA表。人工查询工作情况系数的过程是,查找实际工作情况所在行,查找实际启动情况所在大列,查找每天工作小时数在大列中所处的小列
19、,行与小列的交汇处即为所查KA。如工作实际情况为“载荷变动小”,实际启动情况为“重载启动”,实际工作小时数为“1016”,KA为1.3。由计算机程序查询,需要三个输入参数:工况、每天工作小时数和启动情况,故三个一维数组分别存储表中的工况情况、启动情况和每天工作小时数。一个三维数组存储工作情况KA数据以及一些内部变量。程序参数见表2-11,流程图见图2-11,程序运行时的窗体见图2-12和图2-13。第2章 机械设计数表处理 表表2-10 V带传动工作情况系数带传动工作情况系数KA 第2章 机械设计数表处理 表表2-11 处理处理V带传动工作情况系数带传动工作情况系数KA的程序参的程序参 第2章
20、 机械设计数表处理 图2-11 带传动工作情况系数KA查询程序的流程图 第2章 机械设计数表处理 图2-12 带传动工作情况系数KA查询前的窗体外观 第2章 机械设计数表处理 图2-13 带传动工作情况系数KA查询后的窗体外观 第2章 机械设计数表处理 窗体frmvdkA.frm的全部代码,见代码2-4。代码2-4 窗体frmvdkA.frm的全部代码 Option Explicit Option Base 1 Private Sub Command1-Click()功能:定义变量与数组、接收输入、查询、显示结果 Dim zhqk As String Dim qdqk As String Di
21、m mtss As String Dim zhqksz Dim qdqksz Dim mtsssz Dim ka As Single 第2章 机械设计数表处理 Dim kaywsz Dim kaswsz(5,2,4)As Single Dim x As Integer Dim y As Integer Dim j As Integer Dim js As Integer zhqk=Trim(cbozhqk.Text)qdqk=Trim(cboqdqk.Text)mtss=Trim(cbomtss.Text)kaywsz=Array(1,1.1,1.2,1.1,1.2,1.3,-1.1,1.2,
22、1.3,1.2,1.3,1.4,-1.2,1.3,1.4,1.4,1.5,1.6,-1.3,1.4,1.5,1.5,1.6,1.8)第2章 机械设计数表处理 zhqksz=Array(载荷变动最小,载荷变动小,载荷变动较大,载荷变动最大)qdqksz=Array(空、轻载启动,重载启动)mtsssz=Array(16)js=0 For x=1 To UBound(zhqksz)For y=1 To UBound(qdqksz)For j=1 To UBound(mtsssz)js=js+1 kaswsz(x,y,j)=kaywsz(js)Next j Next y Next x For x=1
23、 To UBound(zhqksz)If zhqk=zhqksz(x)Then Exit For Next x 第2章 机械设计数表处理 For y=1 To UBound(qdqksz)If qdqk=qdqksz(y)Then Exit For Next y For j=1 To UBound(mtsssz)If mtss=mtsssz(j)Then Exit For Next j ka=kaswsz(x,y,j)txtka.Text=kaEnd SubPrivate Sub Form-Initialize()功能:为组合框对象的text属性赋初值 cbozhqk.Text=cbozhqk
24、.List(1)cboqdqk.Text=cboqdqk.List(1)cbomtss.Text=cbomtss.List(1)End Sub 第2章 机械设计数表处理 2.1.2 不规则非函数表处理不规则非函数表处理 1.一维不规则非函数表一维不规则非函数表 表2-12为渐开线圆柱齿轮的模数国家标准系列表。表中有两行数据,第一行有28个数据,第二行比第一行少六个数据,因此该表是不规则的非函数表。表2-12 渐开线圆柱齿轮标准模数系列表第2章 机械设计数表处理 从表2-12中选用模数时,一般应优先选用第一系列(如设计标准减速器时,模数作为输入参数,由用户从表中选择)。有时根据具体情况也可以选第
25、二系列,例如,设计非标准减速器时,模数是输出参数,由强度条件确定,为了减少减速器尺寸与重量,模数应选择最接近的较大值。于是,可能出现这种情况:齿轮强度条件确定的最小模数为m=3.6,由表2-12可以看出,按优先原则,应选第一系列的m=4;若按“满足强度条件的前提下用料要少”的原则考虑,应选第二系列的m=3.75。因此,为了满足不同的需求,提高程序的通用性,模数的查询程序应满足各种用户需求。第2章 机械设计数表处理 根据上述设计要求,作出如下处理方案:将该表拆分为两个规则的非函数表:模数第一系列表(见表2-13)、第一系列与第二系列按大小混合后的系列表(见表2-14)。为满足用户使用要求,程序需
展开阅读全文