|
楼主 |
发表于 2007-10-24 08:59:17
|
显示全部楼层
後續6
从线框、实体造型到特征建模
& j& s7 _/ K: }% r5 M. x
* ~# C+ D$ N, a1968-1973年前后,CAD中的二维绘图和曲面造型已经取得了突破性进展,形成了公认比较满意的技术体系,并且相应开发了软件,已经小规模投入生产应用。于是,人们的注意力开始转入怎样才能更完整地表达产品的三维几何形状,使得计算机能够“理解”产品数据的意义,从而获得一定程度的智能化分析、计算能力。当时正在使用的表示三维零件的方法是线框模型,如图4.56中的支座,是用空间线条搭成铁丝笼状的框架。为了方便设计人员的交互输入,每次定义一个工作平面,在工作面上构造二维图形,然后通过坐标变换,将画在工作面局部坐标系中的二维线条变换成产品总体坐标系中的三维线条。设想图4.56中支座的底面为x-y平面,x轴沿底面的长边方向,y轴沿短边方向。支座的高度方向是z坐标。依次在z=0, z=15, 和z=70的三个水平面上分别绘制:矩形框;矩形框加f60和f36两个同心圆;以及带缺口的两同心圆。当绘制这些轮廓线时,工作平面都旋转到与计算机图形显示器的屏幕相重合的位置。然后将总体坐标系旋转到使支座的x向侧面正对屏幕,绘制f36和f20两个圆。这样,通过二维构图与三维变换相结合,就可以在计算机里建立起零件的三维模型。当然,这种建模方法很笨,没有脱离传统画法几何的范畴,完全靠人来一步一步操作。计算机所起的作用跟在二维绘图系统中相近,基本上处于同一水平上。 8 B' G, c, R+ s2 [! B; N
) O# i. B+ v( c% X
将实体的概念首先引入三维几何造型的第一个尝试是日本北海道大学冲野教郎(Norio Okino)教授,他从1968年起主持研制了TIPS系统,TIPS是英文“技术信息处理系统”的缩写。他用代数方程表示机械零件的规则曲面形状。为了判别一个空间点是在曲面之外、之内还是之上,只要将点的(x, y, z)坐标值代入曲面的代数方程中,计算方程的值是大于,小于,还是等于零。用垂直于x、y、z坐标轴的三组密集平面去切割零件模型的所有表面,将求得的交线消除隐藏部分后就得到类似于图4.57所示的零件立体图。1972年冲野教授公布了TIPS第一版,并组织了TIPS应用协会,免费赠送FORTRAN源程序,在英国、美国等大学中产生了很大影响。中国纺织大学、清华大学、华中理工大学的教师先后访问过冲野教授,北京航空航天大学也得到了TIPS源程序磁带和全套手册的馈赠,并成功地移植到IBM主机上运行。当时的TIPS系统已是一个CAD/CAM集成系统的原型,可以自动计算零件的重量、惯性矩,自动生成有限元网格,产生数控加工的粗铣和精铣走刀轨迹。 ) W" h' m% n) A( c
4 v( Q* U: y) B" o$ c! U" Z! G1972年美国罗切斯特(Rochester)大学沃尔克(H.B.Voelcker)教授开始研制PADL系统。PADL是零件与装配描述语言的缩写,1976年后向外界扩散,提供PADL-1.0版的源程序和全套文档。对于非赢利的教育单位只收象征性的100美元,作为磁带复制和资料成本费。到1981年,已有美国通用汽车公司和英国Leeds大学等40多个学校和公司引用了这一系统。北京航空航天大学当时也通过中国航空技术进出口公司申请引进一套,但由于对方在合同文本中写了“凡是因使用此软件而引起质量事故损失,本单位概不承担法律责任”等条款,中航技公司不能接受这些条款,终止了签署合同,仅购买了全套软件资料。
" i% P; v- \' ^. z" l) F0 ~, Q8 L9 B5 q
沃尔克教授及其课题组的主要成员雷奎卡(A.A.G. Requicha)对于实体造型的理论基础发表了很多论著,至今在我国的CAD和计算机图形学教材中有广泛引用。实体造型简称体素拼合,它是用三维基本体素,如立方体、圆柱体、圆锥体、球、斜楔、圆环作为积木块,通过两两相加或相减来产生规则形状的机械零件。例如图4.56中的支座,可以按照图4.58中的自下而上顺序,逐步用立方体、圆柱体和斜楔三种体素通过加、减运算拼合而成。沃欠克将体素拼合看作是一个集合运算过程,A和B两个正则集通过并、差、交三种操作得出另一个正则集。他企图为实体造型的集合运算建立一个严密、完整的理论体系,使得体素拼合的算法实现可以表示为这一理论体系的一系列形式化描述。遵循这一方法,就可以保证开发的软件正确无误,运行可靠。1979年起沃尔克进一步联合工业界力量,在国家科学基金委的支持下开发了PADL-2.0系统,于1982年推出试用版。当时美国的Unigraphics(简称UG),Calma, Auto-trol, AutoCAD12版都使用PADL2作为自己CAD/CAM商品系统的实体造型模块。图4.58所示的体素拼合二叉树,在PADL系统中称作CSG,直译为构造性实体几何。这一名词已被全世界普遍接受,成为实体造型中记录体素拼合过程的一种标准描述形式。
6 V+ Y- }6 x7 j
. r- X" R; O8 d' ~; @1973年,英国布雷德(Ian Braid)在剑桥大学CAD实验室发表了题为“用体素进行设计”(Designing with Volumes)的博士论文,提出了用体素拼合建立几何形体边界表示(Boundary representation,简称B-rep)的原型试验系统。他也使用规则形状的体素,但用参数方程表示二次圆锥曲面。在体素拼合中求出各个相贯表面之间的交线,并且沿交线将参与集合运算的两个体素组合为一个整体。仍以支座为例,图4.62(c)表示水平方向的圆柱体与竖直圆柱体的内外表面相贯,得出了四条交线。图(d)表示经过拼合后的消除隐藏线图形。实体造型中的拼合操作,在文献中往往也称作布尔操作(Boolean operation),借用英国数学家乔治•布尔(George Boole)所提出的与、或、非逻辑运算法则来表示拼合后的相贯曲面取舍准则。所谓B-rep边界表示法,就是显式表示最终拼合所得形体的每张表面的有效边界范围。对于支座的主体圆柱外表面,经展开后大体将有图4.59所示的形状。表面的外边界称作外环,表面内孔的边界称作内环。一张表面只有一个外环,而内环的数量不限。在计算机内,将实体的所有几何元素通过指针连成一整体,从任何一个元素出发,都可以遍历所有其他元素。这就为CAD/CAM系统中的各种分析计算创造了智能化、自动化处理的基本前提。图4.60简要说明了由布雷德等逐渐发展起来的实体模型边界表示的数据结构。图中内容划分成两大部分,右边称作拓扑结构;左边虚线框中称作几何表示。拓扑结构描述几何元素的相互连接关系及其构成层次。最底层的构成元素是顶点(vertex),两点相连成边(edge),由边构成的封闭轮廓称作环(loop),一组外环和内环界定一张面(face),若干张面构成子壳(subshell),子壳形成封闭的壳(shell),壳组合成块(lump),块再组合成体(body)。由于存在线框模型,所以子壳和壳也可以由线(wire)构成。拓扑结构中的顶点、边和面都有几何属性,分别用左边的单元来加以说明。顶点的空间位置记录在点(point)单元内。边的几何定义,如直线、圆弧、B样条曲线等记录在曲线(curve)名下。同样,面的几何定义记录在曲面(surface)名下。因为参数曲线、曲面同时存在参数域和空间域两种表示形式,所以需要用参数域上的曲线(pcurve)来加以限定。体带有坐标变换矩阵(transform)。由于在正常形态的体中,每一条边都为左、右两个邻面所共享,为了方便程序中的处理,在边之外增加一个共边(coedge)单元。当需要查找一张面的邻面时,首先找到该面边界环中的边,从边指向共边,再由共边指向邻面。在体素拼合过程中,面与面频繁求交,重组边环,拓扑结构中的指针关系不断发生变化,所以数据结构的设计要适应快速检索相关几何元素和简捷变更拓扑指针关系的要求,以保证软件的运行高效、可靠。1973年布雷德完成论文答辩后,继续留在CAD实验室里研究实体造型技术,接连发表了几篇内容翔实的研究报告,并先后研制了Build1和Build2两个新的实验系统。其中Build2采用了当时欧洲最新推出的Algol 68结构化编程语言。与此同时,布雷德和他的导师Charles Lang, 同窗Alan Grayer合作,聘请荷兰人Peter Veenman作市场策划,于1974年创办了Shape Data公司,用Fortran语言开发出第一代实体造型商品系统Romulus,并从1978年起推向市场。 |
|