全套课件·计算机辅助设计与制造(第二版)1_第1页
全套课件·计算机辅助设计与制造(第二版)1_第2页
全套课件·计算机辅助设计与制造(第二版)1_第3页
全套课件·计算机辅助设计与制造(第二版)1_第4页
全套课件·计算机辅助设计与制造(第二版)1_第5页
已阅读5页,还剩372页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机辅助设计与制造(第二版) 第1章 CAD概论 1.1 CAD的内涵、功能和任务 1定义:CAD是Computer Aided Design(计算机辅助设计)的简称。计算机辅助设计是将人和计算机的最佳特性结合起来,辅助进行产品的设计与分析的一种技术,是综合了计算机与工程设计方法的最新发展而形成的一门新兴学科。 2CAD的功能:工程设计的过程包括设计需求分析、概念设计、设计建模、设计分析、设计评价和设计表示,CAD的功能就是在工程设计的过程中起相应的作用,如图1-1所示。 图1-1 CAD系统的功能 (1)信息提供:CAD系统一般都有图形库和数据库,并且可以通过网络与其它大型信息库相连,因此

2、,在设计需求分析阶段,设计师可以借助CAD系统查询所需的市场需求信息和各种与该产品设计制造有关的技术信息,从而对产品的功能、经济性和制造要求等方面的可行性作出科学的估计。 (2) 决策支持系统:在概念设计过程中,需要用到专家的知识、经验及创造性思维,应用人工智能中的专家系统技术而建立的决策支持系统,可以很好地解决结构方案选择等概念设计问题。 (3)几何造型:几何造型是用计算机及其图形系统描述物体形状,模拟物体动态处理过程的一种技术。这种技术的采用,可以使设计师的感觉、空间想象能力和表现能力都得到延伸。 (4) 工程分析:工程分析技术是CAD的基础技术,它包括有限元分析、优化设计方法、可靠性设计

3、方法、物理特性计算(如体积、惯性矩等)、机械系统运动学和动力学分析、计算机模拟仿真等。 (5) 评价决策:对设计的结果进行分析评价,判断其设计是否满足设计的要求,若不满足设计要求,则须进行相应的修改或进行再设计,直到满足设计要求为至。 (6) 图形和文字处理:利用图形支撑软件绘制工程图,将图形文件通过绘图机输出。利用文字编辑排版软件进行设计文档制作,如工艺指导文件、设计说明书和产品说明书等。 3CAD技术的优越性: (1) 可以提高设计效率,缩短设计周期,减少设计费用。 (2) 为产品最优设计提供了有效途径和可靠保证。 (3) 便于修改设计。 (4) 利于设计工作的规范化、系列化和标准化。 (

4、5) 可为计算机辅助制造和检测(CAM,CAT)提供数据准备。 (6) 有利于设计人员创造性的充分发挥。 利用CAD的目的就是实现某种程度的设计自动化,缩设计周期,降低设计成本,提高设计质量,获得较好的经济效益。CAD技术所产生的经济效益是十分可观的,美国科学院工程技术委员会对1986年的统计分析是: (1)降低工程设计成本13%30%; (2)减少产品设计到投产的时间30%60%; (3)产品质量的量级提高25倍; (4)减少加工过程30%60%; (5)降低人力成本5%20%; (6)增加产品作业生产率40%70%; (7)增加设备的生产率23倍; (8)增加工程师分析问题的广度和深度的能

5、力335倍4CAD的主要任务: (1) 完成设计信息的计算机存贮和管理。 (2) 开发工程设计的应用程序。 (3) 建立一个专用图形系统或利用一个通用图形系统,完成产品造型和工程图绘制等任务。 (4) 将工程数据库、应用程序以及图形系统等部分有机地组成为一个完整的CAD系统,以适应反复建立模型、评价模型和修改模型这种设计过程的需要。 1.2 CAD技术的发展 1发展历程: 60年代是CAD发展的起步时期。1962年美国学者Ivan Sutherland研制出了名为Sketchpad的系统,这是一个交互式图形系统,能在屏幕上进行图形设计与修改。从此掀起了大规模研究计算机图形学的热潮,并开始出现C

6、AD这一术语。 70年代,CAD技术进入广泛使用时期。到70年代后期,CAD技术在许多工业领域都得到了实际应用。 80年代,CAD技术进入突飞猛进时期。 90年代,CAD技术的发展更趋成熟。 2发展趋势: 未来CAD技术的发展将趋向集成化、智能化、标准化和网络化。 (1) 集成化。为适应设计与制造自动化的要求,特别是适应CIMS(Computer Integrated Manufacturing System,计算机集成制造系统)的要求,进一步提高CAD的集成化水平是CAD技术发展的一个重要方向。将CAD、CAM、CAPP(计算机辅助工艺编程)、NCP(数控编程)、CAT(计算机辅助实验)、P

7、DM(产品数据管理)集成为CAE(Computer Aided Engineering,计算机辅助工程),使设计、制造、工艺、数控编程、数据管理和测试工作一体化。 (2) 智能化。传统的CAD技术在工程设计中主要用于计算分析和图形处理等方面,对于概念设计、评价、决策及参数选择等问题的处理却颇为困难,因为这些问题的解决需要专家的经验和创造性思维。因此将人工智能的原理和方法,特别是专家系统的技术,与传统CAD技术结合起来,形成智能化CAD系统是工程CAD发展的必然趋势。 (3) 标准化。随着CAD技术的发展,工业标准化问题越来越显示出其重要性。迄今已制定了许多标准,例如:计算机图形接口CGI(co

8、mputer graphics)、计算机图形文件标准CGM(computer graphics metafile)、基于图形转换规范IGES(initial graphics exchange specification)和产品数据转换规范STEP(standard for the exchange of product model data)等。 (4) 网络化。协同设计需要多学科专家的协同工作,而实现这一协作的基础就是计算机网络和多媒体技术。通过计算机网络,可以实现设计成员在设计过程中方便地进行信息交流,而信息交换的方式可以是电子邮件和视频会议系统等。 1.3 CAD技术的应用 1.3.1

9、 电子工业 现在CAD技术在电子工业中的应用已经发展到高度集成化,即集设计、制造和分析于一体的CAD/CAM/CAE集成系统,能完成设计图纸输入、设计验证分析、数控加工程序的自动生成和自动测试等一系列工作。 1.3 CAD技术的应用 1.3.2 机械工业 1.机械设计 根据用户要求确定产品应该具备的功能,构想出产品的工作原理、运动方式、力和能量的传递、结构形状、以及所用材料等事项,并转化为具体的描述,如图纸和设计文件等,以此作为制造、安装、检验的依据。 机械设计是产品从设计、制造、装配、销售和生命周期的第一个和最重要的环节,因为产品的成本 75%在设计阶段决定的,产品的性能80%是在设计阶段决

10、定的。 机械设计是一个“设计评价再设计”的反复迭代、不断优化的过程。 2.机械CAD设计方法 机械CAD就是在机械设计领域采用CAD设计方法。机械设计CAD是CAD技术应用重要领域。 3.机械CAD的工作方式 CAD技术的应用从根本上改变了传统设计的过程,改变了人们的思维方式,工作方式和生产管理方式。原因是载体发生了变化,已不再是图纸了。CAD工作方式体现在: 并行设计。进行产品设计的各部门,可平行地进行各自地工作,同时,还可共享到他人的信息,从网络上获得产品总体结构形状和尺寸、各部门的设计结果、分析计算结果和试验测试数据,并能对共同感兴趣的进行讨论和协调。在设计中,这种协调是必不可少的。 在

11、设计阶段就可模拟零件加工装配,以及早发现加工工艺性方面的问题,甚至运动部件的相碰、相干涉的问题。 在设计阶段可以进行性能仿真,这将大幅度地减少试验工作量和费用。 CAD技术在机械工业中的主要应用有以下几个方面: (1) 二维绘图。 (2) 图形及符号库。 (3) 参数化设计。 (4) 三维造型。 (5) 工程分析。 (6) 生成设计文档及报表。 1.3.3 建筑工业 CAD技术在建筑领域也得到了充分的应用,目前的建筑CAD系统可以在图形显示屏幕上构画建筑物的三维模型,进行建筑外形、周围环境、场地规划、日照效应等的设计,同时还可完成建筑物内部的结构设计和内部的平面布置设计以及建筑的管道设计、电气

12、线路设计等,有些建筑CAD系统还包括工程概预算和工程投标子系统,为设计者、决策者及工程投标提供支持。 目前CAD应用中存在的问题: CAD系统仅作为绘图工具,缺乏设计方法学的指导。 产品及零部件的标准化不足。 集成化程度不高,信息交换标准不统一。 对数据和文档缺乏完善的编码和有效的分类系统。 缺乏完善的数据管理和过程管理系统。 第2章 计算机辅助设计系统 由一定的硬件和软件组成的供辅助设计使用的系统称为CAD系统。 2.1 CAD系统的硬件 CAD系统的硬件由主机和外围设备组成,如图2.1所示 图2.1 CAD系统硬件的组成 一主机 中央处理器 控制器:解释指令并控制指令的执行顺序主机 运算器

13、:执行算术运算和逻辑运算 内存贮器组成。 衡量主机的指标主要有以下三项: (1) 字长。 (2) 运行速度。常用以下指标来度量主机的运行速度:MIPS(百万条指令/秒)、Mflops(百万次浮点运算/秒)或时钟频率。 (3) 内存容量。 二外存贮器 外存贮器又称为辅助存贮器,简称外存,用来存放需要永久保存的或相对来说暂时不用的程序、数据等信息。 磁带: (2) 磁盘: 软磁盘、硬盘、移动硬盘(3) 光盘: 只读型光盘CD-ROM 、DVD-ROM 可写型光盘CD-R、 DVD-R 可重写型光盘CD-RW 、DVD-RW(4) U盘: 三输入设备 输入设备是向计算机输入数据、信息的设备总称。 (

14、1) 键盘 (2) 鼠标器 鼠标器是一种定位输入设备,可很方便地完成定位、拾取和选择等功能。在CAD作业中,可用它来选择绘图位置,拾取图形上的目标,选择菜单中的选项等。 目前微机上最常见的是串行口鼠标器,它通过微机上的串行接口与主机相连。(3) 数字化仪 数字化仪因制作原理不同而有多种型式,目前常用电磁感应式数字化仪,它是一种电子图数转换设备,该数字化仪通常由一块矩形台板和一个电子感应笔或游标指示器组成,如图2.2所示。(4) 扫描仪 扫描仪是一种图像输入设备,利用光电转换原理,通过扫描仪光电管的移动或原稿的移动,把黑白或彩色的原稿信息数字化后输入到计算机中,它还用于文字识别、图像识别等新的领

15、域。 扫描仪是一种能将图纸及文件快速输入到计算机的高速输入设备。 (5) 数码相机 数码照相机使用电荷耦合器件作为成像部件。它把进入镜头照射于电荷耦合器件上的光影信号转换为电信号,再经模/数转换器处理成数字信息,并把数字图像数据存储在相机内的磁介质中。 数码相机可以将拍摄的图像储存在软盘、Flash卡、PCMAIC卡等存储装置中,用户可通过电缆线将储存卡中的图像输入计算机,并利用软件可对相片进行二次处理。 扫描仪的工作原理如图2.3所示。 图2.3 扫描仪工作原理图 CAD系统中常用的扫描仪,其输出的是矢量化的图形,即扫描仪扫描图纸时,得到一个光栅文件,接着进行矢量化处理,输出一种格式紧凑的二

16、进制矢量文件。对于不同的CAD 系统,还需对上述的二进制矢量文件进行格式转换,才能变成特定的CAD系统可接受的图形文件格式,如图2.4所示。图2.4 采用扫描仪的图形输入系统四输出设备(1) 打印机: 撞击式打印机:24针点阵打印机 打印机 激光打印机 非撞击式打印机: 喷墨打印机 (2) 绘图机: 平板式绘图机 笔式绘图机 绘图机 滚筒式绘图机 喷墨绘图机 非笔式绘图机 激光绘图机 静电绘图机 五图形显示设备 显示器件有阴极射线管(CRT)、液晶显示(LCD)、激光显示、等离子体显示等。当前最常用的是阴极射线管显示器和液晶显示器。 显示器所显示的数字、字符和图像是由一个个象素组成的,象素是显

17、示屏上的最小信息,每个小点称作一个象素。组成显示网络的象素多少决定了图形的清晰程度,通常用分辨率表示,象素越多,分辨率越高。目前微机显示器的分辨率通常有中分辨率(600350,640480)和高分辨率(800600,1024768,12801024)两类。 2.2 CAD 系统的软件 系统软件 CAD系统的软件可分为三个层次 支撑软件 应用软件 一系统软件 系统软件指操作系统和系统实用程序等,它用于计算机的管理、控制和维护。 1操作系统。 2编译系统。 3系统实用程序。 二支撑软件 1图形处理软件。负责CAD的绘图。 2几何建模软件。Pro/E等 3数据库管理系统。如FoxBASE,FoxPR

18、O,工程数据库等 计算方法库:如解线性方程组。 优化方法软件:4工程分析及计算软件 有限元分析软件:如ADINA等 机构分析及机构综合的软件: 系统动态分析软件。5文档制作软件。WPS,WORD2003等。 三 应用软件 应用软件是用户为解决各类实际问题,在系统软件的支持下而设计、开发的程序,或利用支撑软件进行二次开发形成的程序,应用软件的功能和质量直接影响CAD系统的功能和质量。 2.3 CAD系统的型式 一大(中)型机系统 这种系统以大(中)型机为主机,拥有强大的运算能力和丰富的信息资源,可直接集中支持十几个,甚至几十个CAD终端,还可集中配备某些公用的外部设备,如图形输入/输出设备等。这

19、种系统的优点是主机功能强,可以完成大型、复杂的CAD作业。 二工作站系统 CAD工作站是一种适用于单用户、使用UNIX操作系统、具有极高的运算速度和强大的图形处理功能的计算机系统。工作站在性能上优于微机,目前在我国市场上的国内外工作站产品有HP、SUN、IBM、DEC、三星、华胜、海信等。 三微机系统 以32位微机作为主机,为单用户系统,配备有一个图形终端、图形输入设备、图形输出设备、外部存储器等设备。微机系统有如下两个特点: (1) 微机性能价格比高。 (2) 微机的硬件和软件配置灵活、丰富。 四网络型系统 网络型CAD系统是将分布于各处的多台各类计算机以网络形式连接起来。目前常用的网络型C

20、AD系统大多采用局域网(LAN)。 下面介绍三种常见的局域网网络拓扑结构:(1)总线拓扑结构: 由电缆形成网络的主干(总线),各个节点直接或通过较短电缆连到这个总线上,信号沿着总线传输。(2)星型拓扑结构: 是一种集中控制的主从式结构,除中心节点外,任何两个节点之间的通信都要经过中心节点。(3)环型拓扑结构: 节点以环状相连,信息沿着这个环按顺序传递。如果下一个节点是这个信息的接收者,则它就接收这个信息,否则就把这个信息转发出去。 第3章 工程数据的处理 从总体上说,处理工程数据的方法有以下三种: 1程序化处理:在编程时将数据以一定的形式直接放于程序中。 特点:程序与数据结合在一起。 缺点:数

21、据无法共享,增大程序的长度。 2文件化处理:将数据放于扩展名为.DAT的数据文件中,需要数据时,由程序来打开文件并读取数据。 特点:数据与程序作了初步的分离,实现了有条件的数据共享。 缺点:(1)文件只能表示事物而不能表示事物之间 的联系。 (2)文件较长。 (3)数据与应用程序之间仍有依赖关系。 (4)安全性和保密性差。 3数据库管理:将工程数据存放到数据库中,可以克服文件化处理的不足。特点:(1)数据共享。 (2)数据集中。 (3)数据结构化,既表示了事物,又表示了事物之间的联系。 (4)数据与应用程序无关。 (5)安全性和保密性好。 由于CAD作业的性质以及数据处理的规模大小的不同,因而

22、必须根据实际情况选用上述三种数据处理方式的其中一种。方式的选择原则是:有利于提高CAD作业的效率,降低开发的成本。 3.1 数表的程序化处理 3.1.1 一维数表的处理 定义:只由一个已知变量查取所需数据的表格,称为一维数表。 例:表3-1为由小链轮齿数Z查取齿数系数K的一维数表,试对其进行程序化处理。 表3-1 Z 9111315171921 K0.4460.5550.6670.7750.8931.001.12 Z23252729313335 K1.231.351.461.581.701.811.94用Turbo C语言编程如下(yyyy1.c):main() int i,Z1,ip=20;

23、 int Z14=9,11,13,15,17,19,21,23,25,27,29,31,33,35; float K14=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); else printf(“n输入错误!”); 3.1.2 二维数表的处理 定义:

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

25、198015910925654287571097313188175120取变量: 齿数zZi i=1,2,3,8 节距t Ti i=1,2,3,10 dhDHi,j i=1,2,3,8 j=1,2,3,10 dkDKi,j i=1,2,3,8 j=1,2,3,10 节距t31.7538.1044.4550.863.50齿数zdhdkdhdkdhdkdhdkdhdk117650916010671121801521031396641167913591155105193132151178014095164111187129235163171379316511219313222015227519319

26、158108189129221153253177316224211781222141482501752852003572542319913723816527819731822439827825219152263184307217335249438310用Turbo C语言编程如下(yyyy2.c):main()int i,j,Z1,ip=20,jp=20; float T1; int Z8=11,13,15,17,19,21,23,25; float T10=9.525,12.7,15.875,19.05,25.4,31.75,38.1,44.45, 50.8,63.5; int DH810=

27、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,

28、; int DK810=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; print

29、f(“请输入链轮齿数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); else printf(“n输入错误!”); 3.2 数表的文件化处理 1用编辑软件产生顺序文件 2用程序生成顺序文件main() int i; in

30、t a10=1,2,3,4,5,60,70,80,90,100; FILE *fp; fp=fopen(“AA.DAT”, “w”); for(i=0;i5;i+) fprintf(fp, “%d ”; ai); fprintf(fp, “n”); for(i=5;i10;i+) fprintf(fp, “%d ”; ai); fclose(fp); 3文件的读取和检索 以表3-1由小链轮齿数Z查齿数系数K的文件化处理为例: 建立数据文件ZK.DAT如下: 9 11 13 15 17 19 21 23 25 27 29 31 33 35 38 0.446 0.555 0.667 0.775 0

31、.893 1.0 1.12 1.23 1.35 1.46 1.58 1.70 1.81 1.94 2.12 用Turbo C语言编程如下(yyyy3.c): main() int i,z1,z15,jp=20; float 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(“请输入链轮齿数z1:”); scanf(“%d”, &z1); for(i=0;i15;i+) if

32、(zi=z1) ip=i; i=16; if(ip20) printf(“n当z=%d时,k=%f”, zip,kip); else printf(“n输入错误!”); 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为例,具有线性插值功能

33、的文件化处理程序如下(yyyy4.c):main () int i,z1,z15,x1,x2,ip=20,key1=0; float y1,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(Input z1: ); scanf(%d, &z1); for(i=0;i15;i+) if(zi=z1) kz=ki; key1=1; i=16; if(key1=0) for(i=0;

34、i15;i+) if(ziz1) x1=zi-1; y1=ki-1; x2=zi; y2=ki; kz=y1+(y2-y1)*(z1-x1)/(x2-x1); printf(n z=%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 抛物线插

35、值的C语言函数如下:float larg(x1,y1,x2,y2,x3,y3,x0)int x1,x2,x3,x0; float y1,y2,y3; int i,j,x3; float p,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)/(xi-xj); y0=y0+p*yi; return(y0); 3.4 线图的处理 线图的处理方法有两种,一种是将其转换成表格,对非表格节点采用插值法求得;另一种方法是将其写成公

36、式表示。3.4.1 线图的表格化处理 如果能把线图转换成表格,那么就可以使用数表的处理方法对其进行处理。现有图3.1所示线图,下面对其进行表格化处理: 在图3.1所示线图上取n个节点(X1,Y1)(X2,Y2)(Xn,Yn),将其制成表格如表3-3所示。节点数取得越多,精度就越高。节点的选取原则是使各节点的函数值不致相差很大。 图3.1 线图 X1 X2 X3 . Xn Y1 Y2 Y3 Yn 将线图表格化后,再参照数表处理方法,用程序化或文件化处理方法进行处理。 3.4.2 线图的公式化处理 上述线图的表格化处理方法,不仅工作量较大,而且还需占用大量的存储空间。因此,理想的线图处理方法是对线

37、图进行公式化处理。 线图的公式化处理有两种方法。一种是找到线图原来的公式,另一种是用曲线拟合的方法求出描述线图的经验公式。曲线拟合的方法很多,常用的是最小二乘法。下面介绍曲线拟合的最小二乘法。 表3-3 1最小二乘法拟合的基本原理已知:线图曲线I求:多项式y=Pm(x),它表示的曲线为II图3-2 数据的曲线拟合在曲线I上取n个点(xi,yi) i=1,2,3,n设拟合公式为因此每一结点处的偏差为偏差的平方和为2最小二乘法的多项式拟合 设拟合的m次多项式为 则结点偏差的平方和为 因为是已知的一组数,它们在式中可看作常数,因此可以看作是的函数,即求出为极小时的的值,并将它们代入式(3-1)中,所

38、得的多项式即为所求的拟合曲线方程式。此时的问题是求偏差平方和的极值,欲使为极小,必须使 于是 的条件也就为 即 3.5 工程数据的数据库管理 3.5.1 数据库系统及管理 数据库系统是一种能够“管理大量的、持久的、可靠的、共享的数据的工具”,通俗地讲,数据库系统可把诸如表格、卡片、设备及零部件等数据有组织地集合在一起,输入到计算机,然后通过计算机处理,再按一定要求输出结果。 虽然数据库也是以文件方式存储数据,但它是数据的一种高级组织形式。在应用程序和数据库之间,有一个新的数据管理软件DBMS(DataBase Management System),即数据库管理系统。数据库管理系统是一组专门处理

39、、访问数据库的程序,它可完成数据库的定义、管理、建立、维护等操作,是用户与数据库之间的接口。 每一种数据库管理系统都是基于某种数据模型的。数据模型是指数据库内部数据的组织方式,描述了数据之间的各种联系。现行数据库系统中,常用的数据模型有以下三种: 1层次模型 用树形结构表示实体之间联系的模型称为层次模型,它能描述一对多的关系。 2网状模型 这种模型是用网状数据结构来描述数据库的总体逻辑结构,它体现了事物之间“多对多”的关系。 3关系模型 上述两种模型都是结构化模型,使用时,事先均需根据应用的需要,将数据之间的逻辑关系固定下来,所以缺乏柔性。 关系模型把实体与实体间的联系归结为二维表的组织结构,

40、每一张二维表称为一个关系,其中表中的每行为一个记录,每列为数据项(称为字段)。 关系模型的特点是结构比较简单,但能够处理复杂的实体之间的联系,因此得到广泛的应用。目前国内普遍应用的FoxBASE,FoxPro都是关系数据库系统 3.5.2 FoxPro关系型数据库系统 1FoxPro系统简介 (1) 命令。在FoxPro语言中,对数据的操作都是由命令来完成的。命令相当于一般高级语言中的语句,但更精炼。FoxPro操作命令的一般形式为: 命令动词FORWHILE (2) 函数。在FoxPro中提供了大量的内部函数,每个函数都有函数名。FoxPro提供了七大类函数,包括字符处理函数、数值函数、逻辑

41、函数、日期和时间函数、数据库操作函数、系统函数和其他函数。 (3) 文件。FoxPro有多种文件类型,以扩展名不同来区分。 (4) 操作符。FoxPro提供了四种类型的运算,因而有四种操作符: 算术操作符 : +、-、*、/、*、()、% 关系操作符 : 、=、=、=、 or # 逻辑操作符 : AND、OR、NOT or ! 字符串操作符: +、- (5) 数据库结构。对数据库中每个字段的定义建立了数据库文件的数据结构。字段定义由三项组成: 字段名:字段名可达10个字符长,必须用一个字母打头 字段类型 : FoxPro针对字段变量定义了五种数据类型: C字符型 N数字型 D日期型(月/日/年

42、) L逻辑型 M明细型 字段宽度 :指在字段中含有字符或数字的最大个数。 2FoxPro常用命令 FoxPro数据库系统提供了100多种操作命令,包括数据库文件的建立、编辑、使用、检索、统计、多重数据库操作、报表输出及其他辅助功能等。下面介绍一些FoxPro的常用命令。 (1) CREATE命令 CREATE为建立数据库文件基本结构的命令,其一般格式为: CREATE 该命令将建立一个用户给定的数据库文件,默认扩展名为.DBF。 (2) APPEND命令 APPEND命令用于向数据库“追加”数据记录。 (3) USE命令 USE命令用于打开数据库文件,其一般格式为: USE (4) LIST命

43、令 LIST命令常被用来显示数据库文件中的所有记录或显示数据库文件的结构。 (5) DISPLAY命令 DISPLAY命令与LIST命令的功能相似,但当没有指定范围时,DISPLAY命令只显示当前一条记录。 (6) GOTO命令 GOTO命令是将记录指针直接定位到指定的记录上 (7) SKIP命令 SKIP命令的一般格式为: SKIP 该命令用于将记录指针从当前位置向前或向后移动,移动的记录数等于的值。 (8) EDIT命令 EDIT命令用于从当前记录开始顺序修改记录。 (9) LOCATE命令 LOCATE命令用来在无索引的数据库文件中查找满足条件的记录,它的一般格式为: LOCATE FO

44、R WHILE (10) SUM命令 SUM命令用来对有关数字型字段的表达式求和,它的一般格式为: SUM FOR WHILE 3FoxPro常用函数: 在FoxPro中提供了大量的内部函数,以满足用户进行数据库编程的需要。下面分类介绍FoxPro中的常用函数。 (1) 数学运算函数 * 取绝对值函数ABS( ) * 指数函数EXP( ) * 取整函数INT( ) * 自然对数函数LOG( ) * 平方根函数SQRT( ) * 最大值函数MAX( ) (2) 字符函数 这里只介绍求子串函数SUBSTR( ),调用该函数的一般格式为:SUBSTR(, ,) (3) 转换函数 * 小写转换大写函数

45、UPPER( ) * 大写转换小写函数LOWER( ) * 数字型转换成字符型函数STR( ) * 字符型转换成数字型函数VAL( ) (4) 测试函数 * 数据类型测试函数TYPE( ) * 字符串长度测试函数LEN( ) * 光标行坐标测试函数ROW( ) * 光标列坐标测试函数COL( ) * 文件结束测试函数EOF( ) 4建立数据库和数据录入 数据库文件的建立包括两个步骤:首先是定义数据库结构,也就是要把数据库含有多少个字段,每个字段的特征(字段名、数据类型、字段宽度、小数点位数)告诉系统。其次是按照定义好的数据库结构输入每条记录的数据内容。 (1) 定义数据库结构: 可用定义数据库

46、结构的命令CREATE或利用FoxPro菜单系统定义一个新的数据库。 (2) 数据的输入: FoxPro有多种数据输入方式,最常用的有以下三种: * 立即方式输入数据 * 扩充方式追加新记录 * 使用BROWSE命令增加数据 5程序设计 FoxPro不仅提供了单命令的工作方式,还允许用户编写程序执行预定的操作,即可将FoxPro提供的命令、函数和程序控制语句组织成为有序的集合,并以文件的形式存放在磁盘上,这个有序的集合称之为FoxPro源程序,这个文件称之为源程序文件。在FoxPro中,源程序的扩展名为.PRG,程序文件可用任何一种编辑软件建立和修改。程序设计功能为用户在FoxPro系统的基础

47、上开发各自所需的数据库应用软件提供了保证。 3.5.3 数表的数据库处理 我们可以用FoxPro数据库来处理表格数据。下面以表3-2二维数表为例来介绍数表的数据库处理方法: 1建立数据库文件: 确定数据结构: 字段名 类型 宽度 小数 1 齿数Z N 2 0 2 节距T N 6 3 3 凸缘直径DH N 6 1 4 轴孔直径DK N 6 1建立TABP.DBF库文件,并输入记录的内容:记录号 齿数Z 节距T 凸缘直径DH 轴孔直径DK 1 11 9.525 22 11 2 13 9.525 28 15 3 15 9.525 35 20 . . . . . . . . . . . . . . .

48、 8 25 9.525 65 42 9 11 12.70 30 18 10 13 12.70 38 22 . . . . . . . . . . . . . . . 80 25 63.50 438 310共有80个记录 2数据库检索: 建立后缀为.PRG的数据库命令组文件进行数据库检索。现编写数据库程序(取名TABP.PRG)如下:SET HEADING OFF (不显示栏标题)SET SAFETY OFF (不显示提示信息来询问已存在的 文件是否重写)USE TABPCLEARSET TALK OFF (不显示命令的执行信息)SET DEVICE TO SCREEN (或 PRINT)STO

49、RE 1 TO ZZ6,2 SAY 请输入齿数: GET ZZ PICT 99 READ STORE 1.0 TO TT8,2 SAY 请输入节距: GET TT PICT 99.999READDO WHILE .NOT. EOF() IF 齿数Z=ZZ .AND. 节距T=TT CLEAR DISPLAY GOTO BOTTOM SKIP 1 ENDIF SKIPENDDOSET TALK ONRETURN程序文件建好后,可在FoxPro命令窗口使用DO命令执行如下: DO TABP 3.5.4 FoxPro与高级语言的接口 FoxPro与高级语言之间的数据通信是以文本文件为媒介的,其过程如

50、图3.10所示。 图3.10 FoxPro与高级语言之间的数据通信 1FoxPro向高级语言传送数据 FoxPro与高级语言交换数据可以通过系统数据格式文件(SDF)和通用格式文件实现。FoxPro建立文本文件(扩展名为.TXT)的命令为: COPY TO TYPE 该命令是由当前打开的数据库文件生成指定的文本格式文件,而生成文件的类型由指定。文件类型可以为: SDF系统数据格式文件,又称标准格式文件。 DELIMITED通用格式文件,也称带定界符的格 式文件。 2FoxPro接收由高级语言传递的文本文件的数据 如果高级语言按照系统数据格式文件和通用格式文件的格式生成文本文件,就可将数据追加到

51、数据库文件中去。APPEND FROM TYPE命令是将已有的系统数据格式文件和通用格式文件追加到当前打开的数据库文件中,该命令的一般格式为: APPEND FROM TYPE 其中为文本格式文件名,为SDF或DELIMITED。 3.5.5 工程数据库简介 CAD是一个十分复杂的系统,具有十分复杂的数据类型和联系以及大量的工程数据。采用一般的事物管理数据库系统并不能完全满足CAD作业的需要,因而出现了工程数据库管理系统EDBMS(Engineering Data Base Management System)。 1工程设计中的数据 在事物型管理领域中,数据类型较单一,主要是文字型。而在工程领

52、域中,数据种类多、结构复杂。工程设计中的数据类型主要有以下4种: (1) 管理型数据。主要包括产品设计和制造中所用到的数据资料,如标准、规范、材料、产品目录等。 (2) 设计型数据。指在工程设计与制造中产生的数据,如设计的产品结构数据、中间变量以及各子系统间信息交流的数据等。 (3) 图形数据。包括各种工程图表、二维工程图形、三维几何造型等数据。 (4) 各种软件包。进行工程计算及图形处理的软件,如有限元分析、优化设计、强度校核、动力分析、三维图形显示等。 2对工程数据库系统的要求 (1)支持复杂的数据类型,反映复杂的数据结构。 (2) 支持反复建立、评价、修改并完善模型的设计过程。 (3)

53、工程数据模型必须支持层次性的设计结构。 (4) 支持多用户的工作环境并保证在这种环境下各类数据 语义的一致性。 (5) 具有良好的用户界面。 第4章 图形坐标变换与裁剪4.1 二维图形的坐标变换 在图形显示过程中,用户需对图形进行平移、放大、旋转等基本的几何变换操作。图形的平移、放大、旋转从数学上看都是几何性质的“变换”,故又称为图形的几何变换 对二维图形的坐标变换,就是指在不改变图形连线次序的情况下,对一个平面点集进行线性变换。 1二维图形坐标变换的基本原理: (1) 平移变换:一个点P(x,y) 平移到P*(x*,y*),平移后产生的新坐标如下 x*=x+Dx y*=y+Dy (2) 变比

54、例变换: X*=SxX Y*=SyY 对一个三角形进行变比例变换,同样仅需将该三角形的三个顶点进行变比例变换。然后在变换后的三顶点间按A、B、C次序连线,就可得到变比例变换后的三角形,如图所示。(3) 旋转变换: X*=Xcos-Ysin Y*=Xsin+Ycos2坐标变换的矩阵表示形式:前面已介绍,对二维图形的坐标变换,实际上是对一个平面点集进行线性变换。由于点集可用矩阵的方式来表达,因此对点的变换可以通过相应的矩阵运算来实现,即:一个点的坐标可以用矩阵形式x y 或 表示,坐标变换的矩阵表示形式为: X* Y*=X Y =aX+cY bX+dY 其中:T= 为变换矩阵。 当T矩阵各元素取不

55、同值时,便可得到不同的变换结果 注意,不论变换矩阵中的元素a、b、c、d为何值时,都不能使图形产生平移变换,即用2行2列的变换矩阵不能实现图形的平移变换。这就需要使用图形的另一种表示方法齐次坐标。 3齐次坐标与齐次变换矩阵: 为了进行平移变换,要给二维点的位置矢量增加一个附加坐标,使之成为三维行向量x y l,即用点的齐次坐标表示,这样便可进行运算了。 (1) 齐次坐标: 齐次坐标是将一个n维空间的点用n+1维坐标来表示。如在直角坐标系中,二维点x y的齐次坐标通常用三维坐标Hx Hy H表示,一个三维点x y z 的齐次坐标通常用四维坐标Hx Hy Hz H表示。在齐次坐标系中,最后一维坐标

56、H称为比例因子。 三维直角坐标与其齐次坐标的关系是: x=Hx/H y=Hy/H z=Hz/H 由于H的取值是任意的,所以任一点可用多组齐次坐标表示。在一般使用中,总是将H设为“1”,以保持两种坐标的一致。 (2) 齐次变换矩阵: 对于二维坐标系上的点,齐次坐标为Hx Hy H,而齐次坐标变换矩阵的形式是: T= 可将该矩阵分为四部分,其作用 分别为: 的作用是对被变换点的坐标进行放大、缩小和旋转变换; m n的作用是对变换点的坐标进行平移变换; 的作用是对变换点的坐标进行投影变换; s是整个变换中的比例系数。 下面分别介绍利用齐次变换矩阵进行平移变换、变比例变换和旋转变换:(a) 当 T=

57、时 XH YH H=X Y 1 =X+m Y+n 1 X*=XH/H=X+mY*=YH/H=Y+n这时为平移变换 4二维复合变换: 实际上,上述介绍的几种基本变换一般不单独出现,通常出现的都是复合变换。有的图形须经过多次基本变换才能完成,这种由两个以上基本变换构成的变换称为复合变换。设各次变换的变换矩阵分别为T1,T2,Tn,则复合变换矩阵是各次变换矩阵的乘积。 例:当图形要对画面中的某一点(x0,y0)作放大时,可通过如下三种基本变换复合而成: (1) 首先将坐标原点(0,0)平移至(x0,y0),变换矩阵为: T1= (2) 然后图形以(x0,y0)为中心作放大,变换矩阵为: (3)最后将

58、坐标原点自(x0,y0)的位置移回原处(0,0) 变换矩阵为: T2= T3= 则以点(x0,y0)为中心,放大系数分别为Sx、Sy的复合变换矩阵为: T=T1T2T3= 同理,当图形绕坐标原点以外的任意点(x0,y0)作旋转时,也可以通过三种基本变换复合而成,即将旋转中心平移到坐标原点,其变换矩阵为T1;然后使图形绕坐标原点旋转角,变换矩阵为T2;最后将旋转中心平移回原来的位置,其变换矩阵为T3。则绕坐标原点以外的任意点旋转角的复合变换矩阵为: T=T1T2T3= 4.2 三维图形的坐标变换 三维图形的坐标变换是二维图形坐标变换的简单扩展。三维齐次坐标变换矩阵的形式是: T = 产生变比例变

59、换、旋转变换、反射(对称)变换等 l m n 产生沿x、y、z三个方向的平移变换。 s 产生全比例变换 产生透视变换 4.2.1 三维基本变换 1比例变换: 2反射(对称)变换: (1)对xoy平面的反射变换 (2) 对xoz平面的反射变换 T= T= T= (3) 对yoz平面的反射变换3平移变换: 平移变换是指立体在空间沿x、y、z三个方向移动一个位置,而立体本身的大小和形状并不改变。齐次变换矩阵为:T= 空间一点(X,Y,Z)的平移变化结果为:X Y Z 1 = X+l Y+m Z+n 1 = X* Y* Z* 1 4旋转变换: (1) 绕X轴旋转角: (2) 绕Y轴旋转角: (3) 绕

60、Z轴旋转角: Tz= Tx= Ty= 例:已知某长方体各顶点坐标为A(3,2,1.5)、B(1,2,1.5)、C(1,2,2.5)、D(3,2,2.5)、E(3,1,1.5)、F(1,1,1.5)、G(1,1,2.5)、H(3,1,2.5),将该长方体对yoz平面进行反射变换,试求变换结果。解:将长方体各顶点坐标进行反射变换如下: A 3 2 1.5 1 -3 2 1.5 1 A* B 1 2 .5 1 -1 2 1.5 1 B* C 1 2 2.5 1 -1 0 0 0 -1 2 2.5 1 C* D 3 2 2.5 1 0 1 0 0 = -3 2 2.5 1 D* E 3 1 1.5 1

温馨提示

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

评论

0/150

提交评论