工程数据的处理

上传人:痛*** 文档编号:205782100 上传时间:2023-04-30 格式:PPT 页数:42 大小:360.50KB
收藏 版权申诉 举报 下载
工程数据的处理_第1页
第1页 / 共42页
工程数据的处理_第2页
第2页 / 共42页
工程数据的处理_第3页
第3页 / 共42页
资源描述:

《工程数据的处理》由会员分享,可在线阅读,更多相关《工程数据的处理(42页珍藏版)》请在装配图网上搜索。

1、第第3章章工程数据的处理工程数据的处理 从总体上说,处理工程数据的方法有以下三种:从总体上说,处理工程数据的方法有以下三种:1程程序序化化处处理理:在在编编程程时时将将数数据据以以一一定定的的形形式式直直接接放放于于程序中。程序中。特点:程序与数据结合在一起。特点:程序与数据结合在一起。缺点:数据无法共享,增大程序的长度。缺点:数据无法共享,增大程序的长度。2文文件件化化处处理理:将将数数据据放放于于扩扩展展名名为为.DAT的的数数据据文文件件中中,需要数据时,由程序来打开文件并读取数据。需要数据时,由程序来打开文件并读取数据。特点:数据与程序作了初步的分离,实现了有条件的数据特点:数据与程序

2、作了初步的分离,实现了有条件的数据共享。共享。缺点:(缺点:(1)文件只能表示事物而不能表示事物之间)文件只能表示事物而不能表示事物之间的联系。的联系。(2)文件较长。)文件较长。 www.zg- www.skf- www.skf- www.nsk- www.fag- www.ntn- www.xunchi- (3)数据与应用程序之间仍有依赖关系。)数据与应用程序之间仍有依赖关系。(4)安全性和保密性差。)安全性和保密性差。3数数据据库库管管理理:将将工工程程数数据据存存放放到到数数据据库库中中,可可以以克克服服文件化处理的不足。文件化处理的不足。特点:(特点:(1)数据共享。)数据共享。(2

3、)数据集中。)数据集中。(3)数数据据结结构构化化,既既表表示示了了事事物物,又又表表示示了了事事物物之之间的联系。间的联系。(4)数据与应用程序无关。)数据与应用程序无关。(5)安全性和保密性好。)安全性和保密性好。由于由于CAD作业的性质以及数据处理的规模大小的不同,因作业的性质以及数据处理的规模大小的不同,因而必须根据实际情况选用上述三种数据处理方式的其中一种。而必须根据实际情况选用上述三种数据处理方式的其中一种。方式的选择原则是:有利于提高方式的选择原则是:有利于提高CAD作业的效率,降低开发作业的效率,降低开发的成本。的成本。3.1数表的程序化处理数表的程序化处理 3.1.1一维数表

4、的处理一维数表的处理 定定义义:只只由由一一个个已已知知变变量量查查取取所所需需数数据据的的表表格格,称称为为一一维数表。维数表。例例:表表31为为由由小小链链轮轮齿齿数数Z查查取取齿齿数数系系数数K的的一一维维数数表表,试对其进行程序化处理。试对其进行程序化处理。表表31 Z 9111315171921 K0.4460.5550.6670.7750.8931.001.12 Z23252729313335 K1.231.351.461.581.701.811.94用用TurboC语言编程如下语言编程如下(yyyy1.c):main()inti,Z1,ip=20;intZ14=9,11,13,1

5、5,17,19,21,23,25,27,29,31,33,35;floatK14=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(Zi=Z1)ip=i;i=15;if(ip20)printf(“n当当Z=%d时,时,K=%f”,Zip,Kip);elseprintf(“n输入错误!输入错误!”);3.1.2二维数表的处理二维数表的处理 定定义义:需需由由二二个个已已知知条

6、条件件才才能能确确定定一一个个未未知知数数据据的的表表格格,称为二维数表。称为二维数表。例例:表表32用用于于链链轮轮设设计计中中,由由节节距距t和和链链轮轮齿齿数数z查查取取链链轮轮轴轴孔孔最最大大直直经经dkmax和和齿齿侧侧凸凸缘缘最最大大直直经经dh,试试对对其其进进行行程程序序化处理。化处理。表表32节距t9.52512.7015.87519.0525.40齿数zdhdkdhdkdhdkdhdkdhdk11221130183722452760381328153822483057367751153520462858377046936117412454346845825311074194

7、72963417951946212684215333714789591077214295235937795199651198015910925654287571097313188175120取变量:取变量:齿数齿数zZii=1,2,3,8节距节距tTii=1,2,3,10dhDHi,ji=1,2,3,8j=1,2,3,10dkDKi,ji=1,2,3,8j=1,2,3,10节距t31.7538.1044.4550.863.50齿数zdhdkdhdkdhdkdhdkdhdk11765091601067112180152103139664116791359115510519313215117801

8、4095164111187129235163171379316511219313222015227519319158108189129221153253177316224211781222141482501752852003572542319913723816527819731822439827825219152263184307217335249438310用用TurboC语言编程如下语言编程如下(yyyy2.c):main()inti,j,Z1,ip=20,jp=20;floatT1;intZ8=11,13,15,17,19,21,23,25;floatT10=9.525,12.7,15.

9、875,19.05,25.4,31.75,38.1,44.45,50.8,63.5;intDH810=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,6

10、5,87,109,131,175,219,263,307,315,438,;intDK810=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,45,53,74,93,112,132,152,193,29,41,51,62,84,108,129,153,177,224,33,47,59,72,95,122,148,175,200,254,37,51,65,80,109,137,165,196,224,278,42,57,73,88,120,1

11、52,184,217,249,310;printf(“请输入链轮齿数请输入链轮齿数Z1:”);scanf(“%d”,&Z1);for(i=0;i8;i+)if(Zi=Z1)ip=i;i=9;printf(“请输入节距请输入节距T1:”);scanf(“%f”,&T1);for(j=0;j10;j+)if(Tj=T1)jp=j;j=11;if(ip20&jp20)printf(“n当当z=%d,t=%f时,时,dh=%d,dkmax=%d”,Zip,Tjp),DHipjp,DHipjp);elseprintf(“n输入错误!输入错误!”);3.2数表的文件化处理数表的文件化处理 1 1用编辑软件

12、产生顺序文件用编辑软件产生顺序文件 2 2用程序生成顺序文件用程序生成顺序文件main()main()int i;int i;int a10=1,2,3,4,5,60,70,80,90,100;int a10=1,2,3,4,5,60,70,80,90,100;FILE*fp;FILE*fp;fp=fopen(fp=fopen(“AA.DATAA.DAT”,“w w”););for(i=0;i5;i+)for(i=0;i5;i+)fprintf(fp,fprintf(fp,“%d%d”;ai);ai);fprintf(fp,fprintf(fp,“nn”););for(i=5;i10;i+)f

13、or(i=5;i10;i+)fprintf(fp,fprintf(fp,“%d%d”;ai);ai);fclose(fp);fclose(fp);3 3文件的读取和检索文件的读取和检索 以表以表31由小链轮齿数由小链轮齿数Z查齿数系数查齿数系数K的文件化处的文件化处理为例:理为例:建立数据文件建立数据文件ZK.DAT如下:如下:911131517192123252729313335380.4460.5550.6670.7750.8931.01.121.231.351.461.581.701.811.942.12用用TurboC语言编程如下语言编程如下(yyyy3.c):main()inti,z

14、1,z15,jp=20;floatk15;FILE*fp;fp=fopen(“ZK.DAT”,“r”);for(i=0;i15;i+)fscanf(fp,“%d”,&zi);for(i=0;i15;i+)fscanf(fp,“%f”,&ki);fclose(fp);printf(“请输入链轮齿数请输入链轮齿数z1:”);scanf(“%d”,&z1);for(i=0;i15;i+)if(zi=z1)ip=i;i=16;if(ip20)printf(“n当当z=%d时,时,k=%f”,zip,kip);elseprintf(“n输入错误!输入错误!”);3.3一维数表的插值处理一维数表的插值处理

15、 由由于于一一维维数数表表只只给给出出了了结结点点X1,X2,Xn对对应应的的函函数数值值Y1,Y2,Yn,而而对对于于非非结结点点上上的的函函数数值值,如如对对表表31,欲欲取取非非结结点点Z1=18或或Z1=24时时的的K值,则必须用插值法解决。值,则必须用插值法解决。1 1线性插值法:线性插值法:已知:两点(已知:两点(X1,Y1),(),(X2,Y2)求:求:位于位于X1,X2之间的之间的X坐标对应的坐标对应的Y可用如下的线性插值公式:可用如下的线性插值公式:Y=Y1+(Y2Y1)(XX1)/(X2X1)仍仍以以小小链链轮轮齿齿数数Z查查齿齿数数系系数数K为为例例,具具有有线线性性插插

16、值值功功能的文件化处理程序如下能的文件化处理程序如下(yyyy4.c):main()inti,z1,z15,x1,x2,ip=20,key1=0;floaty1,y2,kz,k15;FILE*fp;fp=fopen(zk.dat,r);for(i=0;i15;i+)fscanf(fp,%d,&zi);for(i=0;i15;i+)fscanf(fp,%f,&ki);fclose(fp);printf(Inputz1:);scanf(%d,&z1);for(i=0;i15;i+)if(zi=z1)kz=ki;key1=1;i=16;if(key1=0)for(i=0;i15;i+)if(ziz1

17、)x1=zi1;y1=ki1;x2=zi;y2=ki;kz=y1+(y2y1)*(z1x1)/(x2x1);printf(nz=%d,k=%f,z1,kz);2 2拉格朗日二次插值(抛物线插值):拉格朗日二次插值(抛物线插值):已知:三点(已知:三点(X1,Y1),(),(X2,Y2),(),(X3,Y3)求求:位位于于X1,X2之之间间或或X2,X3之之间间的的X坐坐标标对对应应的的Y可可用用如如下下的的抛抛物物线线插插值公式:值公式:Y=(XX2)(XX3)/(X1X2)(X1X3)*Y1+(XX1)(XX3)/(X2X1)(X2X3)*Y2+(XX1)(XX2)/(X3X1)(X3X2)

18、*Y3抛物线插值的抛物线插值的C语言函数如下:语言函数如下:floatlarg(x1,y1,x2,y2,x3,y3,x0)intx1,x2,x3,x0;floaty1,y2,y3;inti,j,x3;floatp,y0,y3;x0=x1;y0=y1;x1=x2;y1=y2;x2=x3;y2=y3;y0=0.0;for(i=0;i3;i+)p=1.0;for(j=0;j3;j+)if(i!=j)p=p*(x0 xj)/(xixj);y0=y0+p*yi;return(y0);3.4线图的处理线图的处理 线图的处理方法有两种,一种是将其转换成表线图的处理方法有两种,一种是将其转换成表格,对非表格节

19、点采用插值法求得;另一种方法是格,对非表格节点采用插值法求得;另一种方法是将其写成公式表示。将其写成公式表示。3.4.1 3.4.1 线图的表格化处理线图的表格化处理 如如果果能能把把线线图图转转换换成成表表格格,那那么么就就可可以以使使用用数数表表的的处处理理方方法法对对其其进进行行处处理理。现现有有图图3.1所所示示线线图图,下下面对其进行表格化处理:面对其进行表格化处理:在在图图3.1所所示示线线图图上上取取n个个节节点点(X1,Y1)(X2,Y2)(Xn,Yn),将将其其制制成成表表格格如如表表33所所示示。节节点点数数取取得得越越多多,精精度度就就越越高高。节节点点的的选选取取原原则

20、则是是使各节点的函数值不致相差很大。使各节点的函数值不致相差很大。图图3.1线图线图 X1 X2 X3 .Xn Y1 Y2 Y3 Yn将将线线图图表表格格化化后后,再再参参照照数数表表处处理理方方法法,用用程程序序化化或或文文件化处理方法进行处理。件化处理方法进行处理。3.4.2 3.4.2 线图的公式化处理线图的公式化处理 上上述述线线图图的的表表格格化化处处理理方方法法,不不仅仅工工作作量量较较大大,而而且且还还需需占占用用大大量量的的存存储储空空间间。因因此此,理理想想的的线线图图处处理理方方法法是是对对线线图图进行公式化处理。进行公式化处理。线线图图的的公公式式化化处处理理有有两两种种

21、方方法法。一一种种是是找找到到线线图图原原来来的的公公式式,另另一一种种是是用用曲曲线线拟拟合合的的方方法法求求出出描描述述线线图图的的经经验验公公式式。曲曲线线拟拟合合的的方方法法很很多多,常常用用的的是是最最小小二二乘乘法法。下下面面介介绍绍曲曲线线拟拟合的最小二乘法。合的最小二乘法。表3-3 1 1最小二乘法拟合的基本原理最小二乘法拟合的基本原理已知:线图曲线已知:线图曲线I I求:多项式求:多项式y=Pm(x)y=Pm(x),它表示的曲线为,它表示的曲线为IIII图图3-2 3-2 数据的曲线拟合数据的曲线拟合在曲线在曲线I I上取上取n n个点(个点(xixi,yiyi)i=1i=1

22、,2 2,3 3,n n设拟合公式为设拟合公式为因此每一结点处的偏差为因此每一结点处的偏差为偏差的平方和为偏差的平方和为2 2最小二乘法的多项式拟合最小二乘法的多项式拟合 设拟设拟合的合的m m次多次多项项式式为为 则结点偏差的平方和为则结点偏差的平方和为因因为为是是已已知知的的一一组组数数,它它们们在在式式中中可可看看作作常常数数,因因此此可可以看作是的函数,即以看作是的函数,即求求出出为为极极小小时时的的的的值值,并并将将它它们们代代入入式式(31)中中,所所得得的的多多项项式式即即为为所所求求的的拟拟合合曲曲线线方方程程式式。此此时时的的问问题题是是求求偏偏差平方和的极值,欲使为极小,必

23、须使差平方和的极值,欲使为极小,必须使 于是于是的条件也就为的条件也就为即即3.5工程数据的数据库管理工程数据的数据库管理 3.5.1 3.5.1 数据库系统及管理数据库系统及管理 数据库系统是一种能够数据库系统是一种能够“管理大量的、持久的、可靠的、管理大量的、持久的、可靠的、共享的数据的工具共享的数据的工具”,通俗地讲,数据库系统可把诸如表格、,通俗地讲,数据库系统可把诸如表格、卡片、设备及零部件等数据有组织地集合在一起,输入到计算卡片、设备及零部件等数据有组织地集合在一起,输入到计算机,然后通过计算机处理,再按一定要求输出结果。机,然后通过计算机处理,再按一定要求输出结果。虽然数据库也是

24、以文件方式存储数据,但它是数据的一种虽然数据库也是以文件方式存储数据,但它是数据的一种高级组织形式。在应用程序和数据库之间,有一个新的数据管高级组织形式。在应用程序和数据库之间,有一个新的数据管理软件理软件DBMS(DataBaseManagementSystem),即数据库管),即数据库管理系统。数据库管理系统是一组专门处理、访问数据库的程序,理系统。数据库管理系统是一组专门处理、访问数据库的程序,它可完成数据库的定义、管理、建立、维护等操作,是用户与它可完成数据库的定义、管理、建立、维护等操作,是用户与数据库之间的接口。数据库之间的接口。每每一一种种数数据据库库管管理理系系统统都都是是基基

25、于于某某种种数数据据模模型型的的。数数据据模模型型是是指指数数据据库库内内部部数数据据的的组组织织方方式式,描描述述了了数数据据之之间间的的各各种种联联系。现行数据库系统中,常用的数据模型有以下三种:系。现行数据库系统中,常用的数据模型有以下三种:1 1层次模型层次模型用树形结构表示实体之间联系的模型称为层次模型,它能描用树形结构表示实体之间联系的模型称为层次模型,它能描述一对多的关系。述一对多的关系。2网状模型网状模型这这种种模模型型是是用用网网状状数数据据结结构构来来描描述述数数据据库库的的总总体体逻逻辑辑结结构构,它体现了事物之间它体现了事物之间“多对多多对多”的关系。的关系。3关系模型

26、 上述两种模型都是结构化模型,使用时,事先均上述两种模型都是结构化模型,使用时,事先均需根据应用的需要,将数据之间的逻辑关系固定下来,需根据应用的需要,将数据之间的逻辑关系固定下来,所以缺乏柔性。所以缺乏柔性。关系模型把实体与实体间的联系归结为二维表的关系模型把实体与实体间的联系归结为二维表的组织结构,每一张二维表称为一个关系,其中表中的组织结构,每一张二维表称为一个关系,其中表中的每行为一个记录,每列为数据项(称为字段)。每行为一个记录,每列为数据项(称为字段)。关系模型的特点是结构比较简单,但能够处理复关系模型的特点是结构比较简单,但能够处理复杂的实体之间的联系,因此得到广泛的应用。目前国

27、杂的实体之间的联系,因此得到广泛的应用。目前国内普遍应用的内普遍应用的FoxBASE,FoxPro都是关系数据库系统都是关系数据库系统 3.5.2 FoxPro3.5.2 FoxPro关系型数据库系统关系型数据库系统 1 1FoxProFoxPro系统简介系统简介 (1)命命令令。在在FoxPro语语言言中中,对对数数据据的的操操作作都都是是由由命命令令来来完完成成的的。命命令令相相当当于于一一般般高高级级语语言言中中的的语语句句,但更精炼。但更精炼。FoxPro操作命令的一般形式为:操作命令的一般形式为:命命 令令 动动 词词 FORWHILE(2)函函数数。在在FoxPro中中提提供供了了

28、大大量量的的内内部部函函数数,每每个个函函数数都都有有函函数数名名。FoxPro提提供供了了七七大大类类函函数数,包包括括字字符符处处理理函函数数、数数值值函函数数、逻逻辑辑函函数数、日日期期和和时时间间函函数、数据库操作函数、系统函数和其他函数数、数据库操作函数、系统函数和其他函数。(3)文件。文件。FoxPro有多种文件类型,以扩展名不同有多种文件类型,以扩展名不同来区分。(4)操操作作符符。FoxPro提提供供了了四四种种类类型型的的运运算算,因因而而有有四四种种操操作符:作符:算术操作符算术操作符:+、*、/、*、()、()、%关系操作符关系操作符:、=、=、=、or#逻辑操作符逻辑操

29、作符:AND、OR、NOTor!字符串操作符字符串操作符:+、(5)数数据据库库结结构构。对对数数据据库库中中每每个个字字段段的的定定义义建建立立了了数数据据库库文文件的数据结构。字段定义由三项组成:件的数据结构。字段定义由三项组成:字段名字段名:字段名可达字段名可达10个字符长,必须用一个字母打头个字符长,必须用一个字母打头字段类型字段类型:FoxPro针对字段变量定义了五种数据类型:针对字段变量定义了五种数据类型:C字符型字符型N数字型数字型D日期型(月日期型(月/日日/年)年)L逻辑型逻辑型M明细型明细型字段宽度字段宽度:指在字段中含有字符或数字的最大个数。指在字段中含有字符或数字的最大

30、个数。2 2FoxProFoxPro常用命令常用命令 FoxPro数数据据库库系系统统提提供供了了100多多种种操操作作命命令令,包包括括数数据据库库文文件件的的建建立立、编编辑辑、使使用用、检检索索、统统计计、多多重重数数据据库库操操作作、报报表表输输出出及及其其他他辅辅助助功功能能等等。下下面面介介绍一些绍一些FoxPro的常用命令。的常用命令。(1)CREATE命令命令CREATE为为建建立立数数据据库库文文件件基基本本结结构构的的命命令令,其其一般格式为:一般格式为:CREATE该该命命令令将将建建立立一一个个用用户户给给定定的的数数据据库库文文件,默认扩展名为件,默认扩展名为.DBF

31、。(2)APPEND命令命令APPEND命令用于向数据库命令用于向数据库“追加追加”数据记录。数据记录。(3)USE命令命令USE命令用于打开数据库文件,其一般格式为:命令用于打开数据库文件,其一般格式为:USE(4)LIST命令命令LIST命命令令常常被被用用来来显显示示数数据据库库文文件件中中的的所所有有记记录录或显示数据库文件的结构。或显示数据库文件的结构。(5)DISPLAY命令命令DISPLAY命命令令与与LIST命命令令的的功功能能相相似似,但但当当没没有有指定范围时,指定范围时,DISPLAY命令只显示当前一条记录。命令只显示当前一条记录。(6)GOTO命令命令GOTO命令是将记

32、录指针直接定位到指定的记录上命令是将记录指针直接定位到指定的记录上 (7)SKIP命令命令SKIP命令的一般格式为:命令的一般格式为:SKIP该该命命令令用用于于将将记记录录指指针针从从当当前前位位置置向向前前或或向向后后移移动动,移移动动的记录数等于的记录数等于的值。的值。(8)EDIT命令命令EDIT命令用于从当前记录开始顺序修改记录。命令用于从当前记录开始顺序修改记录。(9)LOCATE命令命令LOCATE命命令令用用来来在在无无索索引引的的数数据据库库文文件件中中查查找找满满足足条条件件的记录,它的一般格式为:的记录,它的一般格式为:LOCATEFORWHILE(10)SUM命令命令S

33、UM命命令令用用来来对对有有关关数数字字型型字字段段的的表表达达式式求求和和,它它的的一一般般格式为格式为:SUMFORWHILE 3 3FoxProFoxPro常用函数:常用函数:在在FoxPro中中提提供供了了大大量量的的内内部部函函数数,以以满满足足用用户户进进行行数数据据库库编程的需要。下面分类介绍编程的需要。下面分类介绍FoxPro中的常用函数。中的常用函数。(1)数学运算函数数学运算函数*取绝对值函数取绝对值函数ABS()*指数函数指数函数EXP()*取整函数取整函数INT()*自然对数函数自然对数函数LOG()*平方根函数平方根函数SQRT()*最大值函数最大值函数MAX()(2

34、)字符函数字符函数这这里里只只介介绍绍求求子子串串函函数数SUBSTR(),调调用用该该函函数数的的一一般般格格式式为:为:SUBSTR(,)(3)转换函数转换函数*小写转换大写函数小写转换大写函数UPPER()*大写转换小写函数大写转换小写函数LOWER()*数字型转换成字符型函数数字型转换成字符型函数STR()*字符型转换成数字型函数字符型转换成数字型函数VAL()(4)测试函数测试函数*数据类型测试函数数据类型测试函数TYPE()*字符串长度测试函数字符串长度测试函数LEN()*光标行坐标测试函数光标行坐标测试函数ROW()*光标列坐标测试函数光标列坐标测试函数COL()*文件结束测试函

35、数文件结束测试函数EOF()4 4建立数据库和数据录入建立数据库和数据录入 数数据据库库文文件件的的建建立立包包括括两两个个步步骤骤:首首先先是是定定义义数数据据库库结结构构,也也就就是是要要把把数数据据库库含含有有多多少少个个字字段段,每每个个字字段段的的特特征征(字字段段名名、数数据据类类型型、字字段段宽宽度度、小小数数点点位位数数)告告诉诉系系统统。其其次次是是按照定义好的数据库结构输入每条记录的数据内容。按照定义好的数据库结构输入每条记录的数据内容。(1)定义数据库结构:定义数据库结构:可用定义数据库结构的命令可用定义数据库结构的命令CREATE或利用或利用FoxPro菜单系菜单系统定

36、义一个新的数据库。统定义一个新的数据库。(2)数据的输入:数据的输入:FoxPro有多种数据输入方式,最常用的有以下三种:有多种数据输入方式,最常用的有以下三种:*立即方式输入数据立即方式输入数据*扩充方式追加新记录扩充方式追加新记录*使用使用BROWSE命令增加数据命令增加数据 5 5程序设计程序设计 FoxPro不仅提供了单命令的工作方式,还允许用不仅提供了单命令的工作方式,还允许用户编写程序执行预定的操作,即可将户编写程序执行预定的操作,即可将FoxPro提供的提供的命令、函数和程序控制语句组织成为有序的集合,命令、函数和程序控制语句组织成为有序的集合,并以文件的形式存放在磁盘上,这个有

37、序的集合称并以文件的形式存放在磁盘上,这个有序的集合称之为之为FoxPro源程序,这个文件称之为源程序文件。源程序,这个文件称之为源程序文件。在在FoxPro中,源程序的扩展名为中,源程序的扩展名为.PRG,程序文件可,程序文件可用任何一种编辑软件建立和修改。程序设计功能为用任何一种编辑软件建立和修改。程序设计功能为用户在用户在FoxPro系统的基础上开发各自所需的数据库系统的基础上开发各自所需的数据库应用软件提供了保证。应用软件提供了保证。3.5.3 3.5.3 数表的数据库处理数表的数据库处理 我我们们可可以以用用FoxPro数数据据库库来来处处理理表表格格数数据据。下下面面以以表表32二

38、二维维数数表表为为例例来来介介绍绍数数表表的的数数据据库库处处理理方方法:法:1建立数据库文件:建立数据库文件:确定数据结构:确定数据结构:字段名字段名类型类型宽度宽度小数小数1齿数齿数ZN202节距节距TN633凸缘直径凸缘直径DHN614轴孔直径轴孔直径DKN61建立建立TABP.DBF库文件,并输入记录的内容:库文件,并输入记录的内容:记录号记录号齿数齿数Z节距节距T凸缘直径凸缘直径DH轴孔直径轴孔直径DK1119.52522112139.52528153159.5253520.8259.525654291112.703018101312.703822.802563.50438310共有

39、共有80个记录个记录 2 2数据库检索:数据库检索:建建立立后后缀缀为为.PRG的的数数据据库库命命令令组组文文件件进进行行数数据据库库检检索索。现编写数据库程序(取名现编写数据库程序(取名TABP.PRG)如下:)如下:SETHEADINGOFF(不显示栏标题)(不显示栏标题)SETSAFETYOFF(不显示提示信息来询问已存在的(不显示提示信息来询问已存在的文件是否重写)文件是否重写)USETABPCLEARSETTALKOFF(不显示命令的执行信息)(不显示命令的执行信息)SETDEVICETOSCREEN(或(或PRINT)STORE1TOZZ6,2SAY请输入齿数:请输入齿数:GET

40、ZZPICT99READSTORE1.0TOTT8,2SAY请输入节距:请输入节距:GETTTPICT99.999READDOWHILE.NOT.EOF()IF齿数齿数Z=ZZ.AND.节距节距T=TTCLEARDISPLAYGOTOBOTTOMSKIP1ENDIFSKIPENDDOSETTALKONRETURN程程序序文文件件建建好好后后,可可在在FoxPro命命令令窗窗口口使使用用DO命令执行如下:命令执行如下:DOTABP 3.5.4 FoxPro 3.5.4 FoxPro与高级语言的接口与高级语言的接口 FoxPro与与高高级级语语言言之之间间的的数数据据通通信信是是以以文文本本文文件

41、件为为媒媒介介的的,其过程如图其过程如图3.10所示。所示。图图3.10FoxPro与高级语言之间的数据通信与高级语言之间的数据通信 1 1FoxProFoxPro向高级语言传送数据向高级语言传送数据 FoxPro与与高高级级语语言言交交换换数数据据可可以以通通过过系系统统数数据据格格式式文文件件(SDF)和和通通用用格格式式文文件件实实现现。FoxPro建建立立文本文件(扩展名为文本文件(扩展名为.TXT)的命令为:)的命令为:COPYTOTYPE该该命命令令是是由由当当前前打打开开的的数数据据库库文文件件生生成成指指定定的的文文本本格格式式文文件件,而而生生成成文文件件的的类类型型由由指定

42、。文件类型可以为:指定。文件类型可以为:SDF系统数据格式文件,又称标准格式文件。系统数据格式文件,又称标准格式文件。DELIMITED通用格式文件通用格式文件,也称带定界符的格也称带定界符的格式文件。式文件。2 2FoxProFoxPro接收由高级语言传递的文本文件的数据接收由高级语言传递的文本文件的数据 如如果果高高级级语语言言按按照照系系统统数数据据格格式式文文件件和和通通用用格格式式文文件件的的格格式式生生成成文文本本文文件件,就就可可将将数数据据追追加加到到数数据据库库文文件件中中去去。APPENDFROMTYPE命命令令是是将将已已有有的的系系统统数数据据格格式式文文件件和和通通用

43、用格格式式文文件件追追加加到到当当前前打开的数据库文件中,该命令的一般格式为:打开的数据库文件中,该命令的一般格式为:APPENDFROMTYPE其中其中为文本格式文件名,为文本格式文件名,为为SDF或或DELIMITED。3.5.5 3.5.5 工程数据库简介工程数据库简介 CAD是是一一个个十十分分复复杂杂的的系系统统,具具有有十十分分复复杂杂的的数数据据类类型型和和联联系系以以及及大大量量的的工工程程数数据据。采采用用一一般般的的事事物物管管理理数数据据库库系系统统并并不不能能完完全全满满足足CAD作作业业的的需需要要,因因 而而 出出 现现 了了 工工 程程 数数 据据 库库 管管 理

44、理 系系 统统EDBMS(Engineering Data Base ManagementSystem)。)。1 1工程设计中的数据工程设计中的数据在事物型管理领域中,数据类型较单一,主要在事物型管理领域中,数据类型较单一,主要是文字型。而在工程领域中,数据种类多、结构复是文字型。而在工程领域中,数据种类多、结构复杂。工程设计中的数据类型主要有以下杂。工程设计中的数据类型主要有以下4种:种:(1)管理型数据。主要包括产品设计和制造中所管理型数据。主要包括产品设计和制造中所用到的数据资料,如标准、规范、材料、产品目录用到的数据资料,如标准、规范、材料、产品目录等。等。(2)设设计计型型数数据据。

45、指指在在工工程程设设计计与与制制造造中中产产生生的的数数据据,如如设设计计的的产产品品结结构构数数据据、中中间间变变量量以以及及各各子子系系统统间间信信息息交交流流的的数据等。数据等。(3)图图形形数数据据。包包括括各各种种工工程程图图表表、二二维维工工程程图图形形、三三维维几何造型等数据。几何造型等数据。(4)各各种种软软件件包包。进进行行工工程程计计算算及及图图形形处处理理的的软软件件,如如有有限限元元分分析析、优优化化设设计计、强强度度校校核核、动动力力分分析析、三三维维图图形形显显示示等。等。2 2对工程数据库系统的要求对工程数据库系统的要求(1)支持复杂的数据类型,反映复杂的数据结构。支持复杂的数据类型,反映复杂的数据结构。(2)支持反复建立、评价、修改并完善模型的设计过程。支持反复建立、评价、修改并完善模型的设计过程。(3)工程数据模型必须支持层次性的设计结构。工程数据模型必须支持层次性的设计结构。(4)支持多用户的工作环境并保证在这种环境下各类数据支持多用户的工作环境并保证在这种环境下各类数据语义的一致性。语义的一致性。(5)具有良好的用户界面。具有良好的用户界面。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!