2014-06-14 11:55:45|?次阅读|上传:wustguangh【已有?条评论】发表评论
1972年美国罗切斯特(Rochester)大学沃尔克(H.B.Voelcker)教授开始研制PADL系统。PADL是零件与装配描述语言的缩写,1976年后向外界扩散,提供PADL-1.0版的源程序和全套文档。对于非赢利的教育单位只收象征性的100美元,作为磁带复制和资料成本费。到1981年,已有美国通用汽车公司和英国Leeds大学等40多个学校和公司引用了这一系统。北京航空航天大学当时也通过中国航空技术进出口公司申请引进一套,但由于对方在合同文本中写了“凡是因使用此软件而引起质量事故损失,本单位概不承担法律责任”等条款,中航技公司不能接受这些条款,终止了签署合同,仅购买了全套软件资料。
沃尔克教授及其课题组的主要成员雷奎卡(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,直译为构造性实体几何。这一名词已被全世界普遍接受,成为实体造型中记录体素拼合过程的一种标准描述形式。
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年起推向市场。