工程数据的处理_第1页
工程数据的处理_第2页
工程数据的处理_第3页
工程数据的处理_第4页
工程数据的处理_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章工程数据的处理从总体上说 处理工程数据的方法有以下三种 1 程序化处理 在编程时将数据以一定的形式直接放于程序中 特点 程序与数据结合在一起 缺点 数据无法共享 增大程序的长度 2 文件化处理 将数据放于扩展名为 DAT的数据文件中 需要数据时 由程序来打开文件并读取数据 特点 数据与程序作了初步的分离 实现了有条件的数据共享 缺点 1 文件只能表示事物而不能表示事物之间的联系 2 文件较长 www zg www skf www skf www nsk www fag www ntn www xunchi 3 数据与应用程序之间仍有依赖关系 4 安全性和保密性差 3 数据库管理 将工程数据存放到数据库中 可以克服文件化处理的不足 特点 1 数据共享 2 数据集中 3 数据结构化 既表示了事物 又表示了事物之间的联系 4 数据与应用程序无关 5 安全性和保密性好 由于CAD作业的性质以及数据处理的规模大小的不同 因而必须根据实际情况选用上述三种数据处理方式的其中一种 方式的选择原则是 有利于提高CAD作业的效率 降低开发的成本 3 1数表的程序化处理3 1 1一维数表的处理定义 只由一个已知变量查取所需数据的表格 称为一维数表 例 表3 1为由小链轮齿数Z查取齿数系数K的一维数表 试对其进行程序化处理 表3 1 用TurboC语言编程如下 yyyy1 c 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 3 1 2二维数表的处理定义 需由二个已知条件才能确定一个未知数据的表格 称为二维数表 例 表3 2用于链轮设计中 由节距t和链轮齿数z查取链轮轴孔最大直经dkmax和齿侧凸缘最大直经dh 试对其进行程序化处理 表3 2 取变量 齿数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语言编程如下 yyyy2 c 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 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 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 152 184 217 249 310 printf 请输入链轮齿数Z1 scanf d 3 2数表的文件化处理1 用编辑软件产生顺序文件2 用程序生成顺序文件main inti inta 10 1 2 3 4 5 60 70 80 90 100 FILE fp fp fopen AA DAT w for i 0 i 5 i fprintf fp d a i fprintf fp n for i 5 i 10 i fprintf fp d a i fclose fp 3 文件的读取和检索以表3 1由小链轮齿数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 z1 z 15 jp 20 floatk 15 FILE fp fp fopen ZK DAT r for i 0 i 15 i fscanf fp d 3 3一维数表的插值处理由于一维数表只给出了结点X1 X2 Xn对应的函数值Y1 Y2 Yn 而对于非结点上的函数值 如对表3 1 欲取非结点Z1 18或Z1 24时的K值 则必须用插值法解决 1 线性插值法 已知 两点 X1 Y1 X2 Y2 求 位于X1 X2之间的X坐标对应的Y可用如下的线性插值公式 Y Y1 Y2 Y1 X X1 X2 X1 仍以小链轮齿数Z查齿数系数K为例 具有线性插值功能的文件化处理程序如下 yyyy4 c main inti z1 z 15 x1 x2 ip 20 key1 0 floaty1 y2 kz k 15 FILE fp fp fopen zk dat r for i 0 i 15 i fscanf fp d i if z i z1 kz k i key1 1 i 16 if key1 0 for i 0 i 15 i if z i z1 x1 z i 1 y1 k i 1 x2 z i y2 k i kz y1 y2 y1 z1 x1 x2 x1 printf nz d k f z1 kz 2 拉格朗日二次插值 抛物线插值 已知 三点 X1 Y1 X2 Y2 X3 Y3 求 位于X1 X2之间或X2 X3之间的X坐标对应的Y可用如下的抛物线插值公式 Y X X2 X X3 X1 X2 X1 X3 Y1 X X1 X X3 X2 X1 X2 X3 Y2 X X1 X X2 X3 X1 X3 X2 Y3抛物线插值的C语言函数如下 floatlarg x1 y1 x2 y2 x3 y3 x0 intx1 x2 x3 x0 floaty1 y2 y3 inti j x 3 floatp y0 y 3 x 0 x1 y 0 y1 x 1 x2 y 1 y2 x 2 x3 y 2 y3 y0 0 0 for i 0 i 3 i p 1 0 for j 0 j 3 j if i j p p x0 x j x i x j y0 y0 p y i return y0 3 4线图的处理线图的处理方法有两种 一种是将其转换成表格 对非表格节点采用插值法求得 另一种方法是将其写成公式表示 3 4 1线图的表格化处理如果能把线图转换成表格 那么就可以使用数表的处理方法对其进行处理 现有图3 1所示线图 下面对其进行表格化处理 在图3 1所示线图上取n个节点 X1 Y1 X2 Y2 Xn Yn 将其制成表格如表3 3所示 节点数取得越多 精度就越高 节点的选取原则是使各节点的函数值不致相差很大 图3 1线图 将线图表格化后 再参照数表处理方法 用程序化或文件化处理方法进行处理 3 4 2线图的公式化处理上述线图的表格化处理方法 不仅工作量较大 而且还需占用大量的存储空间 因此 理想的线图处理方法是对线图进行公式化处理 线图的公式化处理有两种方法 一种是找到线图原来的公式 另一种是用曲线拟合的方法求出描述线图的经验公式 曲线拟合的方法很多 常用的是最小二乘法 下面介绍曲线拟合的最小二乘法 表3 3 1 最小二乘法拟合的基本原理已知 线图曲线I求 多项式y Pm x 它表示的曲线为II图3 2数据的曲线拟合在曲线I上取n个点 xi yi i 1 2 3 n设拟合公式为因此每一结点处的偏差为偏差的平方和为 2 最小二乘法的多项式拟合设拟合的m次多项式为则结点偏差的平方和为因为是已知的一组数 它们在式中可看作常数 因此可以看作是的函数 即求出为极小时的的值 并将它们代入式 3 1 中 所得的多项式即为所求的拟合曲线方程式 此时的问题是求偏差平方和的极值 欲使为极小 必须使 于是的条件也就为即 3 5工程数据的数据库管理3 5 1数据库系统及管理数据库系统是一种能够 管理大量的 持久的 可靠的 共享的数据的工具 通俗地讲 数据库系统可把诸如表格 卡片 设备及零部件等数据有组织地集合在一起 输入到计算机 然后通过计算机处理 再按一定要求输出结果 虽然数据库也是以文件方式存储数据 但它是数据的一种高级组织形式 在应用程序和数据库之间 有一个新的数据管理软件DBMS DataBaseManagementSystem 即数据库管理系统 数据库管理系统是一组专门处理 访问数据库的程序 它可完成数据库的定义 管理 建立 维护等操作 是用户与数据库之间的接口 每一种数据库管理系统都是基于某种数据模型的 数据模型是指数据库内部数据的组织方式 描述了数据之间的各种联系 现行数据库系统中 常用的数据模型有以下三种 1 层次模型用树形结构表示实体之间联系的模型称为层次模型 它能描述一对多的关系 2 网状模型这种模型是用网状数据结构来描述数据库的总体逻辑结构 它体现了事物之间 多对多 的关系 3 关系模型上述两种模型都是结构化模型 使用时 事先均需根据应用的需要 将数据之间的逻辑关系固定下来 所以缺乏柔性 关系模型把实体与实体间的联系归结为二维表的组织结构 每一张二维表称为一个关系 其中表中的每行为一个记录 每列为数据项 称为字段 关系模型的特点是结构比较简单 但能够处理复杂的实体之间的联系 因此得到广泛的应用 目前国内普遍应用的FoxBASE FoxPro都是关系数据库系统 3 5 2FoxPro关系型数据库系统1 FoxPro系统简介 1 命令 在FoxPro语言中 对数据的操作都是由命令来完成的 命令相当于一般高级语言中的语句 但更精炼 FoxPro操作命令的一般形式为 命令动词 FOR WHILE 2 函数 在FoxPro中提供了大量的内部函数 每个函数都有函数名 FoxPro提供了七大类函数 包括字符处理函数 数值函数 逻辑函数 日期和时间函数 数据库操作函数 系统函数和其他函数 3 文件 FoxPro有多种文件类型 以扩展名不同来区分 4 操作符 FoxPro提供了四种类型的运算 因而有四种操作符 算术操作符 关系操作符 or 逻辑操作符 AND OR NOTor 字符串操作符 5 数据库结构 对数据库中每个字段的定义建立了数据库文件的数据结构 字段定义由三项组成 字段名 字段名可达10个字符长 必须用一个字母打头字段类型 FoxPro针对字段变量定义了五种数据类型 C 字符型N 数字型D 日期型 月 日 年 L 逻辑型M 明细型字段宽度 指在字段中含有字符或数字的最大个数 2 FoxPro常用命令FoxPro数据库系统提供了100多种操作命令 包括数据库文件的建立 编辑 使用 检索 统计 多重数据库操作 报表输出及其他辅助功能等 下面介绍一些FoxPro的常用命令 1 CREATE命令CREATE为建立数据库文件基本结构的命令 其一般格式为 CREATE该命令将建立一个用户给定的数据库文件 默认扩展名为 DBF 2 APPEND命令APPEND命令用于向数据库 追加 数据记录 3 USE命令USE命令用于打开数据库文件 其一般格式为 USE 4 LIST命令LIST命令常被用来显示数据库文件中的所有记录或显示数据库文件的结构 5 DISPLAY命令DISPLAY命令与LIST命令的功能相似 但当没有指定范围时 DISPLAY命令只显示当前一条记录 6 GOTO命令GOTO命令是将记录指针直接定位到指定的记录上 7 SKIP命令SKIP命令的一般格式为 SKIP 该命令用于将记录指针从当前位置向前或向后移动 移动的记录数等于的值 8 EDIT命令EDIT命令用于从当前记录开始顺序修改记录 9 LOCATE命令LOCATE命令用来在无索引的数据库文件中查找满足条件的记录 它的一般格式为 LOCATE FOR WHILE 10 SUM命令SUM命令用来对有关数字型字段的表达式求和 它的一般格式为 SUM FOR WHILE 3 FoxPro常用函数 在FoxPro中提供了大量的内部函数 以满足用户进行数据库编程的需要 下面分类介绍FoxPro中的常用函数 1 数学运算函数 取绝对值函数ABS 指数函数EXP 取整函数INT 自然对数函数LOG 平方根函数SQRT 最大值函数MAX 2 字符函数这里只介绍求子串函数SUBSTR 调用该函数的一般格式为 SUBSTR 3 转换函数 小写转换大写函数UPPER 大写转换小写函数LOWER 数字型转换成字符型函数STR 字符型转换成数字型函数VAL 4 测试函数 数据类型测试函数TYPE 字符串长度测试函数LEN 光标行坐标测试函数ROW 光标列坐标测试函数COL 文件结束测试函数EOF 4 建立数据库和数据录入数据库文件的建立包括两个步骤 首先是定义数据库结构 也就是要把数据库含有多少个字段 每个字段的特征 字段名 数据类型 字段宽度 小数点位数 告诉系统 其次是按照定义好的数据库结构输入每条记录的数据内容 1 定义数据库结构 可用定义数据库结构的命令CREATE或利用FoxPro菜单系统定义一个新的数据库 2 数据的输入 FoxPro有多种数据输入方式 最常用的有以下三种 立即方式输入数据 扩充方式追加新记录 使用BROWSE命令增加数据 5 程序设计FoxPro不仅提供了单命令的工作方式 还允许用户编写程序执行预定的操作 即可将FoxPro提供的命令 函数和程序控制语句组织成为有序的集合 并以文件的形式存放在磁盘上 这个有序的集合称之为FoxPro源程序 这个文件称之为源程序文件 在FoxPro中 源程序的扩展名为 PRG 程序文件可用任何一种编辑软件建立和修改 程序设计功能为用户在FoxPro系统的基础上开发各自所需的数据库应用软件提供了保证 3 5 3数表的数据库处理我们可以用FoxPro数据库来处理表格数据 下面以表3 2二维数表为例来介绍数表的数据库处理方法 1 建立数据库文件 确定数据结构 字段名类型宽度小数1齿数ZN202节距TN633凸缘直径DHN614轴孔直径DKN61 建立TABP DBF库文件 并输入记录的内容 记录号齿数Z节距T凸缘直径DH轴孔直径DK1119 52522112139 52528153159 5253520 8259 525654291112 703018101312 703822 802563 50438310共有80个记录 2 数据库检索 建立后缀为 PRG的数据库命令组文件进行数据库检索 现编写数据库程序 取名TABP PRG 如下 SETHEADINGOFF 不显示栏标题 SETSAFETYOFF 不显示提示信息来询问已存在的文件是否重写 USETABPCLEARSETTALKOFF 不显示命令的执行信息 SETDEVICETOSCREEN 或PRINT STORE1TOZZ 6 2SAY 请输入齿数 GETZZPICT 99 READSTORE1 0TOTT 8 2SAY 请输入节距 GETTTPICT 99 999 READDOWHILE NOT EOF IF齿数Z ZZ AND 节距T TTCLEARDISPLAYGOTOBOTTOMSKIP 1ENDIFSKIPENDDOSETTALKONRETURN程序文件建好后 可在FoxPro命令窗口使用DO命令执行如下 DOTABP 3 5 4FoxPro与高级语言的接口FoxPro与高级语言之间的数据通信是以文本文件为媒介的 其过程如图3 10所示 图3 10FoxPro与高级语言之间的数据通信 1 FoxPro向高级语言传送数据FoxPro与高级语言交换数据可以通过系统数据格式文件 SDF 和通用格式文件实现 FoxPro建立文本文件 扩展名为 TXT 的命令为 COPYTOTYPE该命令是由当前打开的数据库文件

温馨提示

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

评论

0/150

提交评论