您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第二章工程数据的计算机处理
第页【上页】【下页】【返回】【结束】1【首页】第二章工程数据的计算机处理2.1概述在CAD/CAM过程中,常常要参照各种标准和规范,根据一系列相关数据资料、图表、实验曲线来选用所需的数据。在传统的手工设计时,这些标准资料是通过技术人员查手册等工具书获得的,查阅起来既费时.又容易出错。而在CAD/CAM中,就要将这些资料作适当的处理并预先存入计算机,以便在设计时由计算机按要求自动检索和调用;或在程序编制过程中融于其中,将其程序化.随着程序的运行,自动选用,加工处理。这是CAD/CAM软件开发的基本工作之一。第页【上页】【下页】【返回】【结束】2【首页】2.1.1数表的分类按数据间有无函数关系分类机械设计中所用到的数表是各种各样的,一般可根据表中各数据间有无函数关系和表格的维数这两种方法进行分类。(1)常数数表这种数表中记载的供设计用的一组数据,彼此之间没有—定的函数关系。例如各种材料的力学性能、齿轮的标准模数系列、V带轮的计算直径系列,各种材料的密度等。第页【上页】【下页】【返回】【结束】3【首页】代号材料密度/(g.cm-3)1球墨铸铁7.32工业纯铁7.873碳钢7.854铸钢7.8第页【上页】【下页】【返回】【结束】4【首页】(2)列表函数数表数表中的数据之间存在某种函数关系。这种数表的来源可以分为两类:一类是本来就有精确的计算公式或经验公式,但是由于解析式太复杂,为了方便进行手工设计.将其制成表格供设计人员查用;另一类是本来就没有公式,数表是以试验所得的离散数据作为依据制作的。对第一类数表,能找到原始解析式的,要求找到原来的理论计算公式或经验公式,编入应用程序进行计算.这种办法最简单,结果也很精确。对于一时难于找到原始解析式的数表或原来就没有解析式的第二类图表,则应进行相应的程序化处理。第页【上页】【下页】【返回】【结束】5【首页】表2-2所示V带传动设计中的包角修正系数Kα表,就是一个一维列表函数数表的例子,表中的函数是包角修正系数Kα自变量是带轮包角的度数。α90o100o110o120o125o130o135o140o145o150o155o160o165o170o175o180oKα0.590.740.780.820.840.860.880.890.910.920.930.950.960.980.991.00第页【上页】【下页】【返回】【结束】6【首页】按数表的维数分类按数表的维数可把数表分为一维数表、二维数表和多维数表。(1)一维数表所要检索的数据只与一个变量有关.这样的数表称为一维数表,表2—2所示都是一维数表。表2-2所示V带传动设计中的包角修正系数Kα表,就是一个一维列表函数数表的例子,表中的函数是包角修正系数Kα,自变量是带轮包角的度数。α90o100o110o120o125o130o135o140o145o150o155o160o165o170o175o180oKα0.590.740.780.820.840.860.880.890.910.920.930.950.960.980.991.00第页【上页】【下页】【返回】【结束】7【首页】(2)二维数表所要检索的数据与两个变量有关,这样的数表称为二维数表。例:表2-3用于链轮设计中,由节距t和链轮齿数z查取链轮轴孔最大直经dk和齿侧凸缘最大直经dh,试对其进行程序化处理。节距t9.52512.7015.87519.0525.40齿数zdhdkdhdkdhdkdhdkdhdk1122113018372245276038132815382248305736775115352046285837704693611741245434684582531107419472963417951946212684215333714789591077214295235937795199651198015910925654287571097313188175120表2-3第页【上页】【下页】【返回】【结束】8【首页】(3)多维数表所要检索的数据与两个以上的变量有关,这种数表称为多维数表。单根普通v带所能传递的基本额定功率P第页【上页】【下页】【返回】【结束】9【首页】2.1.2数表的数据处理方法(1)程序化方式将数据直接编在程序中。该方式简单易行,但缺点是数据与程序互相依赖,即使是更动了一个数据,也要使程序作相应修改,且数据冗余度大,故应用于数据较少,数据变更小的情况。具体又分为如下几种情况:(1)将数表中的数据存入一维、二维或者三维组中;(2)将数表拟合成公式,然后编入程序。第页【上页】【下页】【返回】【结束】10【首页】(2)数据文件方式将数据建立成一个独立的数据文件,并单独存储,使它与应用程序分开,需要时,通过应用程序来打开、调用和关闭数据文件,并进行相关处理。每一个文件都有文件名,文件名由若干字符组成,可以带后缀,即扩展名,如常用的*.dat、*.txt、*.doc等,也可以自己定义后缀名称,原则是以容易记忆为主。优点是应用程序简洁,占用内存量大大减少,数据更改也方便。缺点是文件之间彼此孤立,文件内部又无结构信息,因而数据共享范围有限。另外文件管理系统缺乏对数据进行集中管理和控制的能力。数据的操作仍离不开应用程序,两者之间并末实现完全独立。第页【上页】【下页】【返回】【结束】11【首页】建立数表文件的方法:随不同的操作系统而异,可直接用编辑文本文件的方法输入,如记事本、写字板等文字处理软件。另外,建立数表文件也可用高级语言如C、Pascal、Fortran和Basic中的文件管理功能建立,在应用时按一定的格式读取。针对不同的编程语言,其文件操作语句也不同。下面对C语言中的文件操作语言进行简单说明。C语言系统自定义文件类型,可非常方便地实现对外存储器的存取使用。常用的文件类型有顺序文件(File)和文本文件(Text)。C语言文件操作常用指令表如表3-6所示。第页【上页】【下页】【返回】【结束】12【首页】功能命令格式解释文件指针FILE文件指针;声明一个文件指针变量打开文件fopen(文件指针,打开方式);打开文件,指针恢复到开头恢复指针rewind(文件变量);指针恢复到开头定位函数fseek(文件指针,位移,起点);移动文件位置指针到指定的位置上写文件fwrite(变量,大小,个数,文件指针);将变量值写入文件分量读文件fread(变量,大小,个数,文件指针);读文件分量值赋给变量文尾函数feof(文件指针);判断所读文件结束时为ture关闭文件fclose(文件指针);将文件关闭C语言文件类型的常用指令表第页【上页】【下页】【返回】【结束】13【首页】利用C语言读出文件的程序如下:#include〈stdio.h〉structst{//定义f1的文件floatt1,t2,m,d;}s[30];voidmain(){inti;FILE*fp;//定义一个文件指针//打开当前目录名为f1.dat的文件,为只读操作类型,//并判断文件是否打开成功if((fp=fopen(″f1.dat″,″r″))==NULL){printf(″Cannotopenthedatafile″);//提示打开不成功exit();}i=0;while(!feof(fp)){//循环读取数据记录fread(&s[i],sizeof(structst),1,fp);i++;}fclose(fp);//关闭文件}第页【上页】【下页】【返回】【结束】14【首页】第页【上页】【下页】【返回】【结束】15【首页】(3)数据库方式数据库是一个通用的、综合性的、数据独立性高、冗余度小且互相联系的数据文件的集合,通过DBMS所提供的各种存取方法来对数据进行操作以满足实际的需要。特点:(1)数据共享。(2)数据集中。(3)数据结构化,既表示了事物,又表示了事物之间的联系。(4)数据与应用程序无关。(5)安全性和保密性好。第页【上页】【下页】【返回】【结束】16【首页】2.2数表的程序化数表程序化就是将要使用的各个参数及其函数关系,用一种合理编制的程序存入计算机,以便运行使用。其方法要具体问题具体分析。(1)用数组形式存贮数据如果要使用的数据是一组单一、严格、又无规律可循的数列,通常的方法是用数组形式存储数据,程序运行时.直接检索使用。例:表2-2为由小链轮齿数Z查取齿数系数K的一维数表,试对其进行程序化处理。第页【上页】【下页】【返回】【结束】17【首页】Z9111315171921K0.4460.5550.6670.7750.8931.001.12Z23252729313335K1.231.351.461.581.701.811.94表2-2齿数系数第页【上页】【下页】【返回】【结束】18【首页】用TurboC语言编程如下:main(){inti,Z1,ip=20;intZ[14]={9,11,13,15,17,19,21,23,25,27,29,31,33,35};floatK[14]={0.446,0.555,0.667,0.775,0.893,1.00,1.12,1.23,1.35,1.46,1.58,1.70,1.81,1.94};printf(“请输入链轮齿数Z1:”);scanf(“%d”,&Z1);for(i=0;i14;i++)if(Z[i]==Z1){ip=i;}if(ip20)printf(“\n当Z=%d时,K=%f”,z[ip],k[ip]);elseprintf(“\n输入错误!”);}第页【上页】【下页】【返回】【结束】19【首页】例:表2-3用于链轮设计中,由节距t和链轮齿数z查取链轮轴孔最大直经dk和齿侧凸缘最大直经dh,试对其进行程序化处理。节距t9.52512.7015.87519.0525.40齿数zdhdkdhdkdhdkdhdkdhdk1122113018372245276038132815382248305736775115352046285837704693611741245434684582531107419472963417951946212684215333714789591077214295235937795199651198015910925654287571097313188175120表2-3第页【上页】【下页】【返回】【结束】20【首页】取变量:齿数z——Z[i]i=1,2,3,……8节距t——T[i]i=1,2,3,……10dh——DH[i,j]i=1,2,3,…,8j=1,2,3,…,10dk——DK[i,j]i=1,2,3,…,8j=1,2,3,…,10用TurboC语言编程如下:main(){inti,j,Z1,ip=20,jp=20;floatT1;intZ[8]={11,13,15,17,19,21,23,25};floatT[10]={9.525,12.7,15.875,19.05,25.4,31.75,38.1,44.45,50.8,63.5};intDH[8][10]={22,30,37,45,60,76,91,106,121,152,28,38,48,57,77,96,116,135,155,193,35,46,58,70,93,117,140,164,187,235,41,54,68,82,110,137,165,193,220,275,47,63,79,94,126,158,189,221,253,316,53,71,89,107,142,178,214,250,285,357,59,79,99,119,159,199,238,278,318,398,65,87,109,131,175,219,263,307,315,438,};第页【上页】【下页】【返回】【结束】21【首页】intDK[8][10]={11,18,22,27,38,50,60,71,80,103,15,22,30,36,51,64,79,91,105,132,20,28,37,46,61,80,95,111,129,163,24,34
本文标题:第二章工程数据的计算机处理
链接地址:https://www.777doc.com/doc-2186480 .html