第二章 CADCAM技术基础-工程数据的计算机处理XXXX

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CAD/CAM技术基础CAD/CAMTechnologyBase主讲人:XXXE-mail:XXX第二章工程数据的计算机处理ComputerProcessingofEngineeringDataCAD/CAM技术基础第一章绪论主要内容:1、CAD/CAM技术的基本概念及其内容。2、CAD/CAM产品生产过程。3、CAD/CAM系统的分级结构、基本功能、任务和硬软件组成。4、CAD/CAM技术的国内外发展状况。5、CAD/CAM技术的发展趋势。CAD/CAM技术基础引例机械设计过程中,常常需要引用各种工程设计手册或设计规范中的数据资料。工程数据一般多为表格、线图、经验公式等。CAD/CAM技术基础引例传统设计---数据通过人工查寻获取。计算机处理---首先将数据转换为计算机能够处理的形式,以便使用过程中通过应用程序进行检索、查寻和调用。常用的工程数据计算机处理方法有:程序化处理;文件化处理;解析化处理;数据库技术(大量复杂的工程数据)等。CAD/CAM技术基础内容2.1工程数据的程序化处理2.2工程数据的文件化处理2.3工程数据的解析化处理2.4工程数据的数据库管理CAD/CAM技术基础2.1工程数据的程序化处理工程数据的程序化处理是指在应用程序内部对数表、线图等进行查寻、处理和计算。利用该方法,可以将数据直接写入程序内,程序运行时自动完成程序化处理。程序化适合于需要经常使用而共享度要求不高的情况,例如工程数据中的数表、有公式的线图以及经验公式等。CAD/CAM技术基础2.1工程数据的程序化处理C语言相关知识:#include“stdio.h”//包含“standardinput&output”头文件voidmain(void){//主程序;}常用数据类型:int(整型)、float(浮点数)等;数组:a[],b[][],c[][][];常用函数:scanf(“”)输入、输出printf(“”)、for循环、if()条件判断。参考教材:《C语言程序设计教程(第3版)》谭浩强主编CAD/CAM技术基础2.1.1数表的程序化处理2.1工程数据的程序化处理用程序完整、准确地描述不同函数关系的数表,以便在运行过程中迅速有效地检索和使用数表中的数据。【例2.1】将表2-1中的外螺纹最小牙底半径进行程序化处理CAD/CAM技术基础2.1工程数据的程序化处理一维数表,有螺距和最小牙底半径两个参数,二者之间为一对一的关系。采用一维数组来进行标志。定义数组Pi和Ri(下标i的范围从0~11),数组Pi和Ri分别用来存放螺距P(i)和最小牙底半径R(i)。若已知螺距尺寸Pi,就可相应地检索出最小牙底半径尺寸Ri。CAD/CAM技术基础2.1工程数据的程序化处理#include“stdio.h”voidmain(void){inti,n=11;/*n为记录数*/floatP;floatPi[12]={0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.6,0.7,0.75,0.8,1};floatRi[12]={25,31,38,44,50,56,63,75,88,94,100,125};/*定义一维数组,并初始化赋值*/printf(pleaseinputpitchP:\n);scanf(%f,&P);/*输入螺距值*/for(i=0;in;i++)if((P==Pi[i]&&(i=n))printf(TheminimumofrootradiusofexternalthreadRmin:\n,Ri[i]);/*输出相应的最小牙底半径*/}CAD/CAM技术基础2.1工程数据的程序化处理【例2.2】在设计冲裁模凹模时,凹模刃口与边缘及刃口与刃口之间必须有足够的距离,如表2-2所示,试对该表进行程序化处理。CAD/CAM技术基础2.1工程数据的程序化处理从表2-2可以看出,决定凹模刃口与边缘、刃口与刃口之间距离的自变量有两个,即料厚和料宽,这可以归结为一个二维数表问题。在对该类数表进行程序化处理时,可将表中的刃口与边缘、刃口与刃口之间的距离值记录在一个二维数组中Distance[6][4],将两个自变量料宽和料厚分别定义为一个一维数组Thick[6]、Width[4],通过下标引用的方式实现查寻。CAD/CAM技术基础2.1工程数据的程序化处理#include“stdio.h”voidmain(void){inti,j;floatw,t;/*定义用户输入的料厚、料宽变量*/floatWidth[6]={40,50,70,90,120,150};/*定义表格中的料厚(一维数组),并初始化赋值*/floatThick[4]={0.8,1.5,3.0,5.0};/*定义表格中的料宽(一维数组),并初始化赋值*/floatDistance[6][4]={{22,24,28,32},{24,27,31,35},{30,33,36,40},{36,39,42,46},40,45,48,52},{44,48,52,55}};/*定义距离值(二维数组),并初始化赋值*/printf(pleaseinputwidthofmaterial:w=\n);scanf(%f,&w);/*输入料宽值*/printf(pleaseinputthickofmaterial:t=\n);scanf(%f,&t);/*输入料厚值*/for(i=0;i6;i++)if(w=Width[i])break;for(j=0;j4;j++)if(t=Thick[j])break;printf(Thedistancebetweenthecuttingedgeandmarginoffemaledie,orbetweenthecuttingedgeoffemaledie:%\f,Distance[i][j]);/*输出距离值*/}CAD/CAM技术基础2.1工程数据的程序化处理【例2.3】将表2-3所示的齿形公差进行程序化处理。从表2-3可以看出,渐开线圆柱齿轮齿形公差取决于齿轮直径、法向模数和精度等级三个变量,这可以归结为一个三维数表问题。在对该类数表进行程序化处理时,可将表中的齿形公差ff记录在一个三维数组FF[2][5][12]中,用一维数组dd[2]来储存齿轮分度圆直径d的上界值,用另一个一维数组mn[5]来储存齿轮法向模数mn的上界值,用一个整型变量来表示齿轮的精度等级。CAD/CAM技术基础2.1工程数据的程序化处理2.1.2线图的程序化处理工程设计中,一些设计数据是用直线、折线或各种曲线构成的线图线图本身不能被计算机直接引用,参与设计的是对线图进行处理后获得的相应数据。常用方法:将线图离散化为数表,然后将数表进行程序化处理。【例2.4】在进行圆锥齿轮传动的疲劳强度校核计算时,需要用到结点区域系数ZH,结点区域系数可从图2.1所示的线图中查取。试对该图进行程序化处理。CAD/CAM技术基础2.1工程数据的程序化处理可将此例图转换成数表关系,然后进行程序化处理。为转换成相应数表,可将曲线分割离散(即离散化处理):首先由给出的已知自变量在曲线上找到对应的因变量ZH,形成一组结点,然后用这些分割离散点的坐标值列成一张如表2-4所示的数表。可以看出:这是一个一维数表,就可以采用前述方法进行数表的程序化处理。CAD/CAM技术基础内容2.1工程数据的程序化处理2.2工程数据的文件化处理2.3工程数据的解析化处理2.4工程数据的数据库管理CAD/CAM技术基础2.2工程数据的文件化处理工程数据的文件化处理是指将工程数据以一定的格式存放于文件中,在使用时程序打开文件并进行查询等操作。适用于大型数据或需进行共享的数据。工程数据文件通常采用两种类型的文件:文本文件和数据文件。文本文件:用于存储行文档案资料,如技术报告、专题分析和论证材料等,可利用任何一种计算机文字处理工具软件建立。数据文件:则有自己的固定的存取格式,用于存储数值、短字符串数据,如切削参数、零件尺寸等,可利用字表处理软件建立,通常采用高级语言中的文件管理功能来实现文件的建立、数据的存取。CAD/CAM技术基础2.2工程数据的文件化处理【例2.5】表2-5所示为平键和键槽尺寸,图2.2所示为平键与键槽剖面图。试对该数据表进行文件化处理。CAD/CAM技术基础2.2工程数据的文件化处理将表2-5中的平键和键槽尺寸建立数据文件,然后利用所建数据文件,通过设计所给出的轴径尺寸检索所需的平键尺寸和键槽尺寸。基本过程:按记录将表中的平键尺寸和键槽尺寸建立数据文件,一行一个记录。平键和键槽尺寸的检索是根据轴径进行的,而此表中的轴径给出了一个下限和上限范围,可将该下限和上限轴径数据连同平键和键槽尺寸一起存储在数据文件中,这样一个记录将包含有轴径下限值d1、轴径上限值d2、键宽b、键高h、轴槽深t、毂槽深t1共6个数据项。CAD/CAM技术基础2.2工程数据的文件化处理#include“stdio.h”#definenum=###;;;/*###按实际记录赋值*/structkey_GB{floatd1,d2,b,h,t,t1;}key;/*定义键元素(结构体)*/voidmain(){inti;FILE*fp;if((fp=fopen(“key.dat”,“w”))==NULL)/*打开文件key.dat,用于写入*/{printf(“Can’topenthedatafile”);exit();}for(i=0;inum;i++){printf(“record/%d:d1,d2,b,h,t,t1=”,i);scanf(%f,%f,%f,%f,%f,%f”,&key.d1,&key.d2,&key.b,&key.h,&key.t,&key.t1);/*输入各记录数据项*/fwrite(&key,sizeof(structkey_GB,1,fp)/*写入各记录数据项于文件中*/}fclose(fp);}CAD/CAM技术基础2.2工程数据的文件化处理#include“stdio.h”#definenum=###;;;/*###按实际记录赋值*/structkey_GB{floatd1,d2,b,h,t,t1;}key;voidmain(){inti;FILE*fp;while(1){printf(“Pleaseinputthediameterofshaft:d=\n);scanf(%f”,&d);/*用户输入轴径尺寸*/if(d8&&d=85)break;elseprintf(“Thediameterdisnotinrange,inputagain!);}if((fp=fopen(“key.dat”,“r”))==NULL){printf(“Can’topenthedatafile”);exit();}/*打开文件key.dat*/for(i=0;inum;i++){fseek(fp,i*sizeof(structkey_GB),0);/*二进制方式打开文件,移动文件读写指针位置.*/fread(&key,sizeof(structkey_GB,1,fp);/*读出文件key.dat中的数据*/if(dkey.d1&&d=key.d2){printf(“Thekey:b=%f,h=%f,t=%f,t1=%f”,key.b,key.h,key.t,key.t1);break;}/*检索出具体值*/}fclose(fp);}CAD/CAM技术基础总结2.1工程数据的程序化处理1)适用于数表、线图以及经验公式等;2)根据数据中的参数个数确定数组的维数。2.2工程数据的文件化处理1)适用于大型数据或需进行共享的数据;2)C语言的文件操作函数;3)若选用C++,文件化的程序如何编写?(自学)CAD/CAM技术基础作业书上,第27页:1、3、4、5。CAD/CAM技术基础内容2.1工程数据的程序化处理2.2工程数据的文件化处理2.3工程数据的解析化处理2.4工程数据

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功