《机械CAD、CAM技术(第4版)》王隆太第2章.ppt
《《机械CAD、CAM技术(第4版)》王隆太第2章.ppt》由会员分享,可在线阅读,更多相关《《机械CAD、CAM技术(第4版)》王隆太第2章.ppt(73页珍藏版)》请在冰豆网上搜索。
![《机械CAD、CAM技术(第4版)》王隆太第2章.ppt](https://file1.bdocx.com/fileroot1/2022-10/2/b75d6c88-70ea-4045-a81e-a547aa73d5f8/b75d6c88-70ea-4045-a81e-a547aa73d5f81.gif)
第2章工程数据计算机管理与处理技术,2.1CAD/CAM系统常用的数据结构2.2数据管理模式2.3工程数表的计算机处理技术2.4线图的计算机处理技术,2.1CAD/CAM系统常用的数据结构,2.1.1数据结构基本概念数据结构:
即数据间的联系,是将数据按某种逻辑结构组织起来,按一定的存储表示方式把组织好的数据存储到计算机内,并对之定义一系列操作运算的数据的集合。
2.1.2线性表线性表逻辑结构:
在由相同数据元素组成的有限序列中,除表头和表尾数据元素之外,每个数据元素仅有一个前驱和后继。
工资表,字母表,线性表存储结构:
有顺序存储和链式存储两种结构1)顺序存储相邻的存储单元存储逻辑上的顺序数据元素。
如线性表(a1,a2,ai,an)顺序存储结构为:
特点:
有序性,存储顺序与逻辑顺序一致;均匀性,每个数据元素所占存储单元长度相同。
地址计算:
设首址为b,则数据元素ai存储地址为Loc(a)=b+(i-1)L,
(1)语言简洁、紧凑、使用方便、灵活;
(2)运算符和数据类型丰富;(3)具有结构化控制语句,是完全的模块化和结构化语言;(4)语法限制不太严格,程序设计自由度大;(5)C语言允许直接访问物理地址,能进行位操作,能实现汇编语句的大部分功能,可直接对硬件进行操作;(6)生成目标代码质量高,程序执行效率高;(7)可移植性好。
C语言的特点,if()elsefor()while()dowhile()continuebreakswitchgotoreturn,九种控制语句,switch语句用于在程序中实现多路选择。
“if”和“else”配对应遵循下述规律:
自上而下,“else”总是和上面离它最近的“if”配对。
而且,每一个“else”只能和一个“if”配对。
由于单独的“if”也是条件语句,所以,允许无“else”配对的“if”单独存在。
常用的循环语句包括:
while语句,dowhile语句,for语句。
算术运算符:
+-*/%+-关系运算符:
=!
=逻辑运算符:
!
&|位运算符:
|&赋值运算符:
=及其扩展条件运算符:
?
:
逗号运算符:
指针运算符:
*&求字节数:
sizeof强制类型转换:
(类型)分量运算符:
.-下标运算符:
其它:
()-,34种运算符,这是用C语言书写程序时,在程序中所允许使用的数据的全部的数据类型。
简单的C语言程序介绍,/*example1.1ThefirstCProgram*/#includemain()printf(“Hello,World!
”);,输出:
Hello,World!
/*example1.2calculatethesumofaandb*/#include/*Thisisthemainprogram*/main()intadd(intx,inty);inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%dn,sum);/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty)intz;z=x+y;return(z);,运行结果:
sum=34,格式特点,习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式,main().,#includemain()inti,j,sum;sum=0;for(i=1;i10;i+)for(j=1;j10;j+)sum+=i*j;printf(“%dn”,sum);,优秀程序员的素质之一:
使用TAB缩进对齐有足够的注释有合适的空行,结构特点,1.C程序是由函数构成的。
每个程序由一个或多个函数组成,其中必须有且仅有一个主函数main()。
函数容易实现程序的模块化.2.一个可执行的C语言程序总是从main函数开始执行,而不论其在整个程序中的位置如何。
3.每条语句和数据定义的最后必须有一个分号(;)。
说明:
在以下三种情况下不允许有分号:
a.所定义的函数的名称后面不使用分号;b.在右花括号“”后面不使用分号;c.预处理语句后面不使用分号。
max();,while(i=100)i+;s=s+i;,#include;,4.C对输入输出实行函数化。
5.C程序书写格式自由,一行内可以写几个语句,一个语句也可以分写在多行上。
6.可用/*/对C程序中的任何部分作注释,注释可以写在程序的任何位置上,“/*”与“*/”也可不在同一行上。
7.C语言中大小写字母代表不同含义(即大小写敏感)。
(C语言一般用小写字母),例2.1编写将字符元素X插入到字符线性表第i个元素前的C语言程序。
2)链式存储结构-用任意的存储单元存放线性表中各个数据元素,用指针指示各元素的前驱和后继。
链表结点结构:
数据域和指针域。
指针域:
有单向指针和双向指针,可构成单向链表和双向链表。
a)单向循环链表b)双向循环链表,例2.2编写创建单向字符链表的C语言程序。
例2.3编写单向字符链表的插入运算C语言程序。
提示:
申请新结点存储单元;将插入元素存放在新增结点数据域;链接新增结点指针。
线性表顺序存储与链式存储结构比较,顺序存储:
优点:
结构均匀,便于数据元素访问和修改操作。
不足:
删除插入大量数据元素时需进行移动操作,运算效率低。
应用:
多用于查找频繁、很少增删的场合。
链式存储:
优点:
删除插入效率高,不需进行数据元素的移动操作,不需事先分配存储空间,存储空间利用充分。
不足:
搜索效率低,需从头结点开始顺次搜寻。
应用:
多用于事先难以确定容量、频繁增删的场合。
谢谢!
入队,出队,队列数据结构,循环队列,2.1.3栈和队列栈(Stack):
限定在表尾进行插入或删除操作,为“后进先出”型线性表。
队列(Queue):
限定在表一端插入,在另一端删除的“先进先出”型线性表。
栈的数据结构,2.1.4树树结构(层次结构):
每个结点有一个以上后继,除根结点之外,所有结点仅有一个直接前驱。
树的逻辑结构,树结构相关术语:
结点:
树的基本单元,包含一个数据元素及若干指向其子树的指针;结点度:
各结点子树个数;树的度:
树中最大结点的度,图示树的度为4;叶结点:
度为0的结点或终端结点,如图中C、E、K、G、H、I、L等;分支结点:
度不为0的结点或非终端结点;结点层数:
根结点为第一层,根的子结点为第二层,其余类推;树的深度:
树的最大层数,图示深度为4;森林:
森林是n棵互不相交树的集合。
树的存储结构:
一般采用链式存储结构。
不定长树存储结构,树结构,定长树存储结构,2.1.5二叉树二叉树:
各结点仅有左子树和右子树的特殊树结构。
满二叉树:
所有结点都有左子树和右子树,所有叶结点都在同一层上。
完全二叉树:
结点数为n的二叉树,从1至n每一结点编号都与满二叉树编号一致。
二叉树存储结构顺序存储:
仅适合于完全二叉树,若用于一般二叉树将有许多空存储单元。
链式存储:
每结点除包含有数据域及左子树和右子树指针。
preorder(structbtree*node)if(!
node)return;printf(“%d”,node-data);preorder(node-lchild);preorder(node-rchild);,先序遍历结点顺序:
ABDGHCEIF,二叉树的遍历算法:
所谓遍历,即每节点被访问且仅能访问一次。
常用遍历算法:
先序遍历、中序遍历、后序遍历。
先序遍历:
先访问根结点,然后先序遍历左子树,再先序遍历右子树。
二叉树,二叉树先序遍历C语言函数,inorder(structbtree*node)if(!
node)return;inorder(node-lchild);printf(“%d”,node-data);inorder(node-rchild);,中序遍历:
先中序遍历左子树,然后访问根结点,再中序遍历右子树。
中序遍历结点顺序:
GDHBAEIGF,二叉树,二叉树中序遍历C语言函数,postorder(structbtree*node)if(!
node)return;postorder(node-lchild);postorder(node-rchild);printf(“%d”,node-data);,后序遍历:
先后序遍历左子树、后序遍历右子树,再访问根结点。
后序遍历结点顺序:
GHDBIEFCA,二叉树,二叉树后序遍历C语言函数,一般树转换为二叉树步骤:
将各层兄弟结点用水平线连起来;除最左子结点外,去掉各结点与其父结点连线;以根为中心,将整棵树顺时针旋转45,最终得到所需二叉树。
作业:
用二叉树表示下列实体的CSG建模集合运算和几何变换的过程。
谢谢!
2.2.1文件管理模式数据文件:
具有相同性质和结构记录的集合。
文件管理系统:
是由操作系统提供,规定数据文件的存取方法,管理文件存储地址。
特点:
系统简单、实现方便灵活、处理效率高。
不足:
数据冗余度大;缺乏数据独立性;数据完整性、安全性难以保证。
2.2数据管理技术,应用程序与数据文件间的关系,2.2.2数据库管理模式数据库管理系统特点:
数据的存储独立于应用程序,数据结构的改变不会影响应用程序;应用程序的开发,可不考虑数据的存储管理;实现数据的共享,减少了数据的冗余;有DBMS对数据进行统一管理和控制,保证了数据的完整性和保密性。
数据库与数据管理系统的关系,数据库常用数据模型层次模型:
是一种树结构,可表示“一对多”关系;网状模型:
各节点可有多个父节点,可表示“多对多”关系;关系模型:
是一种二维数表结构,每张二维数表可看作是一种关系,关系与关系之间可通过关键码实现联系。
关系模型,层次模型,网状模型,机械CAD/CAM涉及的数据类型管理型数据如设计标准、产品目录、技术资料等,其数据结构不变,数据间关系分明,数据相对稳定。
设计型数据如产品功能数据、设计分析参数、各种资源描述数据等,其特点是动态性,随设计过程的展开在不断地变化。
加工制造型数据包括工艺数据、数控指令、监控数据等,其实时性要求较高。
图形类数据包括各种图表、零件图和装配图等,其特点呈动态变化,随设计过程急剧增加,如三维图形经剖切后,将产生新交点、交线和面等大量新的图形数据。
工程数据库:
存储和管理工程设计的数据库,包含有几何的、物理的、技术的、工艺的数据及其它技术实体特性及其相互间的关系。
工程数据库与一般商用数据库的比较,2.2.3产品数据管理PDMPDM:
是管理所有与产品相关的信息和过程的技术。
与产品相关的信息:
CAD/CAM文件、材料清单、产品配置、电子表格、供应商及用户清单等。
与产品相关的过程:
设计过程、加工工序、工作流程、审批发放过程、产品变更过程等。
PDM的体系结构,PDM体系结构第1层-支持层包括计算机硬件、计算机网络以及关系型数据库管理系统第2层-对象层采用面向对象的技术,通过若干个二维关系数表描述一个个产品对象数据及其动态变化。
第3层-功能层。
包括系统管理类模块以及基本功能模块,如文档管理、产品配置管理、工作流程管理、零件分类和检索管理、项目管理等。
第4层-用户层为不同用户提供的友好操作平台。
PDM基本功能电子资料室管理与检索这是PDM最基本的功能,是PDM核心。
产品配置管理以电子资料室为底层支持,以物料清单BOM为组织核心,将所有产品数据和文档联系起来,对产品对象及其相互间关系进行维护和管理。
工作流程管理实现产品设计与修改过程的跟踪与控制,包括产品资料的提交、修改控制、监视审批、文档的分布控制、自动通知控制等。
项目管理实现项目实施过程中的计划、人员以及相关数据的管理与配置,进行项目运行状态监控,完成计划反馈。
基于PDM的集成平台,PDM集成平台应用PDM系统封装嵌入功能,可将CAD、CAE、CAPP、CAM等单元系统封装在PDM同一设计开发平台,使CAD/CAPP/CAM作业时可从PDM中提取各自所需要的信息,将处理结果放回PDM中,从而实现CAD/CAM系统的集成。
2.3工程数表的计算机处理技术,工程数表,常数