• 5.57 MB
  • 2022-04-22 13:49:41 发布

GBT16656.42-2010工业自动化系统与集成产品数据表达与交换集成通用资源几何与拓扑表达.pdf

  • 233页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'ICS25.040.40L67a亘中华人民共和国国家标准GB/T16656.42—2010/ISO10303-42:2003代替GB/T16656.421998工业自动化系统与集成产品数据表达与交换第42部分:集成通用资源:几何与拓扑表达Industrialautomationsystemsandintegration--Productdatarepresentationandexchange--Part42:Integratedgenericresource:Geometricandtopologicalrepresentation2010—12-01发布(ISO10303—42:2003,IDT)2011—05-01实施丰瞀徽紫瓣警襻瞥星发布中国国家标准化管理委员会仅10 目次前言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯·⋯⋯⋯⋯引言⋯⋯⋯⋯⋯··⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯··⋯⋯·1范围⋯···⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯2规范性引用文件⋯··⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯·3术语、定义、符号和缩略语⋯⋯⋯⋯⋯⋯⋯⋯⋯·3.1GB/T16656.1中定义的术语⋯⋯⋯⋯⋯⋯·3.2其他术语和定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·3.3符号·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3.4缩略语⋯⋯⋯⋯⋯⋯⋯··⋯⋯⋯⋯⋯⋯⋯⋯··4几何⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯4.1引言⋯⋯⋯···⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯4.2基本概念与设定⋯⋯⋯⋯⋯···⋯⋯⋯⋯⋯⋯··4.3几何常量和类型定义⋯⋯⋯⋯⋯·⋯⋯⋯⋯·⋯4.4几何模式的实体定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯··4.5几何模式的规则定义:compatible_dimension4.6几何模式的函数定义⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯·5拓扑⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯···⋯⋯⋯⋯一5.1引言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯5.2基本概念与设定⋯⋯⋯⋯⋯⋯⋯··⋯⋯⋯⋯··5.3拓扑常量和类型定义⋯⋯⋯⋯⋯⋯⋯⋯···⋯·5.4拓扑模式的实体定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一5.5拓扑模式的函数定义⋯⋯⋯····⋯⋯⋯⋯⋯⋯6几何模型⋯··⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-6.1引言⋯⋯··⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·6.2基本概念和设定⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一6.3几何模型模式的类型定义⋯⋯··⋯⋯⋯⋯⋯·一6.4几何模型模式的实体定义⋯·⋯⋯⋯··⋯⋯⋯6.5几何模型模式的函数定义⋯⋯⋯⋯⋯·⋯⋯一附录A(规范性附录)实体短名⋯⋯⋯⋯⋯⋯·⋯附录B(规范性附录)信息对象的标识注册⋯⋯附录C(资料性附录)计算机可识的清单⋯⋯⋯,附录D(资料性附录)EXPRESS-G框图⋯···⋯·附录NA(资料性附录)ISO10303各部分的目录附录NB(资料性附录)本部分英文黑体词的含义参考文献·⋯⋯⋯⋯··⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯·⋯··索引⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯GB/T16656.42—2010IISO10303-42:2003ⅢⅦ。心c=】c:】q“喵峭瑚加u坫黔∞兰|兰|兰|mmmⅢmmmⅢ螂Ⅲ螂猢mm 刖瞢GB/T16656.42—2010/ISO10303—42.2003GB/T16656((工业自动化系统与集成产品数据表达与交换》是一个由多个部分组成的标准,各部分单独出版。GB/T16656的所属各部分又组成多个子系列,即:——第1至第19部分规定了描述方法;——第20至第29部分规定了实现方法;——第30至第39部分规定了一致性测试方法与框架;——第40至第59部分规定了集成通用资源;——第100至第199部分规定了集成应用资源;——第200至第299部分规定了应用协议;——第300至第399部分规定了抽象测试套件;——第400至第499部分规定了应用模块;——第500至第599部分规定了应用解释构造;——第1000至第1999部分规定了应用模块。GB/T16656((工业自动化系统与集成产品数据表达与交换》现已发布和即将发布的包括以下部分:——第1部分:概述与基本原理;——第11部分:描述方法:EXPRESS语言参考手册;——第21部分:实现方法:交换文件结构的纯正文编码;——第28部分:实现方法:EXPRESS模式与数据的XML表达;——第31部分:一致性测试方法论与框架:基本概念;——第32部分:一致性测试方法论与框架:对测试实验室与客户的要求;——第34部分:一致性测试方法论与框架:应用协议实现的抽象测试方法;——第41部分:集成通用资源:产品描述与支持原理;——第42部分:集成通用资源:几何与拓扑表达;——第43部分:集成通用资源:表达结构;——第44部分:集成通用资源:产品结构配置;——第45部分:集成通用资源:材料;——第46部分:集成通用资源:可视化显示;——第47部分:集成通用资源:形状变化公差;——第49部分:集成通用资源:工艺过程结构和特性;——第51部分:集成通用资源:数学表达;——第54部分:集成通用资源:分类和集合论;——第55部分:集成通用资源:过程与混合表达;——第56部分:集成通用资源:状态;——第101部分:集成应用资源:绘图;——第105部分:集成应用资源:运动学;——第201部分:应用协议:显式绘图;——第202部分:应用协议:相关绘图;——第203部分:应用协议:配置控制设计;Ⅲ GB/T16656.42—2010/ISO10303-42:2003——第238部分:应用协议:计算机数控装置的应用解释模型;——第501部分:应用解释构造:基于边的线框;——第502部分:应用解释构造:基于壳的线框;——第503部分:应用解释构造:几何有界的二维线框;——第504部分:应用解释构造:绘图注释;——第505部分:应用解释构造:图纸结构与管理;——第506部分:应用解释构造:制图元素;——第507部分:应用解释构造:几何有界曲面;——第508部分:应用解释构造:非流形曲面;——第509部分:应用解释构造:流形曲面;——第513部分:应用解释构造:基本边界表达;——第520部分:应用解释构造:相关绘图元素;——第1001部分:应用模块:外观赋值;——第1002部分:应用模块:颜色;——第1003部分:应用模块:曲线外观;——第1004部分:应用模块:基本几何形状;——第1005部分:应用模块:基本拓扑;——第1006部分:应用模块:基础表达;——第1007部分:应用模块:通用曲面外观;——第1008部分:应用模块:层赋值;——第1009部分:应用模块:形状外观和层。本部分为GB/T16656的第42部分。本部分等同采用ISO10303—42:2003《工业自动化与集成产品数据表达与交换第42部分:集成通用资源:几何与拓扑表达》及其技术勘误1(ISO10303-42:2003/Cor.1:2007)(英文版),采用等同翻译法制定,结构上与ISO10303—42:2003等同,在编写格式上符合GB/T1.1—2000的基本规定,与IsO10303—42:2003相比,仅做了以下编辑性修改:——本部分删除了ISO10303—42:2003的前言,按照我国国家标准编写规定重新起草了前言。——修改了IsO10303—42:2003的引言。——将“ISO1030342:2003”或“本国际标准”改为“GB/T16656.42—20lo或GB/T16656的本部分”。——将ISO10303—42:2003第2章“规范性引用文件”中的引导语改为GB/T1.1—2000中的6.2.3规定的引导语。——将GB/T16656第42部分中已转化为国家标准的国际标准改为相应的国家标准,便于使用和查阅。未转化的国际标准保留。——为了让标准使用者了解ISO10303的总体结构,将ISO网站上给出的ISO10303各部分的目录收入在本部分的附录NA。——为了使读者便于理解本部分黑体词的含义,增加了附录NB。本部分代替GB/T16656.42—1998《工业自动化系统与集成产品数据表达与交换第42部分:集成通用资源:几何与拓扑表达》。本部分与GB/T16656.42—1998相比,技术修改主要包括对EXPRESS声明的修改和新增的EXPRESS。修改的EXPRESS声明包括:几何模式:——axisl—placement;Ⅳ --associated—surface;——base—axis;——build_axes;——build一2axes;——cartesian—transformation_operator一3d--cartesian_transformation_operator一2d——composite—curve—segment;——constraints—param—b—spline;——cross—product;——curve—bounded—surface;一default—b—spline_curve—weights}——default—b—spline_knot—mult;default—b—spline_knots;——default_b—spline_surface_weights;——fiTst—pr西一axis;——geometric—representation_item;——get—basis—surface;一1ist—to_array;——make—array_of_array;--make_array_of_array—of_array;——normalise。——orthogonal—complement;——point}——rectangular—composite—surface;——scalaLtimes—vector;——surface—oLrevolution;——surface_patch;--swept_surface;——trimmed—curve;——vector—sum;——vector—difference。拓扑模式:——edge;——edge—reversed;——edge—curve_pcurves;——face—bound—reversed;——face—reversed;——一face—surface;——mixed—loop_type_set;——path-head—tO—tail;——一path—reversed;——shelLreversed{——vertex_point—pcurves。GB/T16656.42—2010/ISO10303—42:2003r GB/T16656.42—2010/ISO10303-42:2003Ⅵ几何模型模式:--booleanoperand;——box—domain;——build_transformedset;——csg—primitive;——csg—solid;——rectangle—domain;——revolved—area_solid;——revolve(Lface_solid;——s01.d—model;——swept—area_solid;——swept—face—solid。新增的EXPRESS声明是:几何模式:——above_plane;——b—spline—volume;——b—spline—volume—with—knots;——bezier—volume;——block—volume;——clothoid;——circularjnvolute;——cylindrical—point;——cylindrical—volume;——dummy—gri;——dupin_cyclide—surface;--eccentric_conical—volume;——e11ipsoid-volume;——orientelLsurfaee『;——hexahedron—volume;——make—array—of-array—oLarray——point—invo[ume;——polaLpoint;——pyramid_volume;——quasl—uniform—volumes——rati。nal—b—spline—volume;——same—side;——sphe“cal—point;——spherical—volume;——surface—boundary;——surface—curve—swept_surface;——tetrahedron—volume;——toroidal一volume;——volume: GB/T16656.42—2010/ISO10303—42:2003——wedge—v01ume。拓扑模式:——closed_shell—reversed;——connectedface_sub—set;——dummy—tri;——open—sheU—reversed;——seam—edge;——subedge。几何模型模式:——brep一2d;——C1rCUlar—area}--eonvexhexahedron;——cyclide—segment—solid;——eccent“£一cone;——ellipsoid;——eUiptic—area;——faceted—primitive;——halLspace一2d;——msb—shells;——polygon“一area;——primitive-2d;——rectangular—area;--rectangular_pyramid;——sectioned—spine;——surface—curve_swept—area—solid;--surface_curve_swept_face_solid;——swepLdisk—solid;——tetrahedron:——t“mmed—volume。本部分的附录A和附录B为规范性附录;附录C、附录D、附录NA和附录NB为资料性附录。本部分由中国机械工业联合会提出。本部分由全国自动化系统与集成标准化技术委员会(sAc/Tc159)归1:3。本部分起草单位:北京机械工业自动化研究所,北京航空航天大学。本部分主要起草人:宁涛、孙洁香、王珊、张华。本部分所代替标准的历次版本发布情况:——GB/T16656.42—1998。Ⅶ GB/T16656.42—2010/ISO10303-42:2003引言16656(ISO10303)是计算机可编译处理的产品数据表达与交换的国家标准。建立这个标准的目的在于提供一个中性机制,使之能够独立于任何具体系统去描述整个产品的生命周期。这种描述的特点使它不仅适用于中性文件的交换,而且也适合于作为实现和共享产品数据库及编制文档的基础。16656(ISO10303)的本部分规定了适用于几何与拓扑表示的集成资源,其主要用途是显式表示产品模型的形状或几何定义形式。当映像到物理文件上时,这里设计的形状表示便于稳定和有效地通信。在第4章中,几何仅是参数曲线与曲面的几何,包括曲线和曲面实体及定义它们所必需的其他实体、函数和数据类型,而通用模式则适用于二维和三维几何两者的定义。全部几何都定义在一个坐标系中,该坐标系的建立是作为它表示条目内容一部分的。这些概念在GB/T16656的第43部分中已全部定义。第5章中的拓扑描述了对象间的相连性关系,而不是对象的精确几何形状描述。这一章包括基本拓扑实体和它们的特定子类型。在某些情况下,这些子类型具有几何的连带关系。这部分同时也包括拓扑实体定义所必需的函数、特定的约束函数及数据类型。第6章的几何模型提供了用于描述三维实体对象精确尺寸和形状的数据通信的基本资源。几何形状模型提供形状的完整表示,它在许多情况下包括几何与拓扑两者的数据。这里包含有实体模型的两个经典类型:构造实体几何(CSG)和边界表示(B—rep)。所包括的其他实体,则很少提供产品几何的完整描述,也很少带有一致性约束。本部分是GB/T16656.42—1998的修订版,对EXPRESS规范的修正,在下列条件下是兼容的:——根据GB/T16656.21(ISO10303—21,IDT)进行编码和符合本部分先前版本的GB/T16656(ISO10303)应用协议的实例,同样符合本次修订的应用协议;——符合ISO10303—22和本部分先前版本的GB/T16656(ISO10303)应用协议的接口,同样符合本次修订的应用协议。本部分先前版本的GB/T16656(ISO10303)应用协议的图表,在本次修订本中同样有效。 1范围GB/T16656.42—2010/[SO10303-42:2003工业自动化系统与集成产品数据表达与交换第42部分:集成通用资源:几何与拓扑表达GB/T16656的本部分规定了用于产品形状的显式几何与拓扑表达的资源结构,其范围由一个理想产品模型显式表示的需要所确定,但不包括用特征来表示的公差和几何隐式表达形式。第4章中的几何与第5章中的拓扑都可以独立应用,且亦广泛地用于第6章的几何形状模型的各种形状描述。此外,本部分还规定了表示几何元素概念的范围。1.1几何下面所述均属于几何模式的范围之内:——点、向量、参数曲线和参数曲面的定义;——具有内部参数的有界体的定义;——变换运算符的定义}一通过坐标值或借助于一个已有曲线或曲面的参数直接定义的点;——圆锥曲线和初等曲面的定义;——通过参数曲面定义的曲线的定义;一一普通参数样条曲线、曲面和体的定义;“——复制点、曲线和曲面的定义;——偏置曲线和曲面的定义;——相交曲线的定义。下述为超出本部分范围的内容:——所有其他形式的过程性定义的曲线和曲面;一一不含参数表示形式的曲线和曲面;——任何显式表示形式的直纹面。注:对于一个直纹面,其几何主要取决于边界曲线的参数和连接两条曲线上的点对的方法。并且,一个具有B样条边界曲线的直纹面总可以用B样条曲面实体精确地表示。1.2拓扑下面所述均属于拓扑范围之内:——基本拓扑实体顶点、边和面的定义,其每一个都带有特定的、能够分别与点、线、面的几何相联的子类型;——构成路径、环、壳拓朴结构的基本实体的集合和保证这些结构完整性的约束条件;——拓扑实体的方向。1.3几何形状模型下面所述均属于几何模型模式范围之内:——描述三维实体对象精确几何形状的数据;——构造实体几何(csG)模型;——二维空间内的CSG模型;——CSG基元与半空间的定义;1 GB/T16656.42—2010/ISO10303-42:2003——通过扫描运算建立的实体模型;——流形的边界表示(B-rep)模型;一一保证Brep模型完整性的约束条件;——表面模型;——线框模型;——几何集;——在新的位置上建立一个实体模型的复制品。下面所述超出了本部分的范围:——非流形的边界表示模型;——用空间占用形式表示的实体模型(诸如八叉树模型等)——装配体与机构。2规范性引用文件下列文件中的条款通过GB/T16656的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。16262.1—2006信息技术抽象语法记法一(ASN.1)第1部分:基本记法规范(1so/IEC8824—1:2002,IDT)16656.1—2008工业自动化系统与集成产品数据表达与交换第1部分:概述与基本原理(ISO10303—1:1994,MOD)16656.11—2010工业自动化系统与集成产品数据表达与交换第11部分:描述方法:EXPRESS语言参考手册(ISO10303—11:2004.IDT)16656.43—2008工业自动化系统与集成产品数据表达与交换第43部分:集成通用资源:表达结构(ISO1030343:2000,IDT)ISO1030341:2000工业自动化系统与集成产品数据表达与交换第41部分:集成通用资源:产品描述与支持原理3术语、定义、符号和缩略语3.116656.1中定义的术语16656.1中定义的下列术语适用于GB/T16656的本部分:——集成资源integratedresource。3.2其他术语和定义下列术语和定义适用于GB/T16656的本部分。这些定义用来描述和约束拓扑实体,有一些没有给出严格数学定义的,在后面将会用来描述和约束拓扑实体。这些定义按字母顺序给出。3.2.1弧式连通arcwiseconnected如果在一个实体域中的任意二点都能通过完全位于该域内的一条曲线连接起来,则该实体是弧式连通的。3.2.2轴对称axi-symmetric如果一个实体有一个对称轴,使该对象在绕该轴作任何旋转时都保持不变,则该实体是轴对称的。 GB/T16656.42—2010/ISO10303-42:20033.2.3界bounds标志一个拓扑实体范围的较低维数的拓扑实体。面的界是环,边的界是顶点。3.2.4边界boundary包含在R”空间中域x内的数学点z的集合。该集合在R”中有一个包含z的开球U,u与x之交集unx与闭合d维半空间R々中的一个开集同胚,对于d≤m,其中该同胚将z移至R々中的原点。注1:R宰定义为在副中的全部数学点(z,,z⋯...,z一)的集合,且z.≥O。注2:在此,“开”字具有通常的数学意义,它与本部分中其他处定义的“开曲面”无关。3.2.5边界表示实体模型boundaryrepresentationsolidmodel;l}rep一种几何模型的类型,其中实体的大小和形状通过构成它的边界的面、边和顶点来定义。3.2.6封闭曲线closedcurve两端点为同一个点的曲线。3.2.7封闭曲面closedsurface一个连通的二维流形。它将空间正好分成两个连通部分,且其中一个连通部分是有限的。3.2.8拓扑实体的完整性completionofatopologicalentity由所讨论的实体与定义该实体界所直接或间接引用的全部面、边和顶点一起组成的集合。3.2.9连通的connected等价于弧式连通的(见3.2.1)。3.2.10连通部分connectedcomponent一个域的最大连通子集。3.2.11构造实体几何constructivesolidgeometry;CSG一种几何建模类型,其中实体被定义为对实体模型进行的一系列正则布尔运算的结果。3.2.12坐标空间coordinatespace把一组n个参数与n维空间中的每个点联系起来的参考系。3.2.13曲线curve一个数学点的集合,它是一个在2维或3维空间中的图像,是在实线(R1)连通子集上定义的一个连续函数,而不是单一的点。3.2.14循环cycle在一个图中,顶点与边交接且使其首末顶点为同一个点的链。3.2.15带有边界的d维流形d-manifoldwithboundary一个域,该域是其d维内部与其边界的并。3 GB/T16656.42—2010/IS010303-42:20033.2.16维数dimensionality在一个几何实体的参数空间中独立坐标的个数。拓扑实体的维数不需要域在该实体的定义中规定。表或集合的维数是表或集合中元素维数的最大值。3.2.17域domain模型空间中数学点的集合对应一个实体。3.2.18欧拉方程eulerequations用于检验对象拓扑一致性的方程。与实体拓扑性质相关的各种等式都是按照欧拉特性的不变性所推导出来的,它们一般用作拓扑结构完整性的快速检验,违背一个欧拉条件即发出一个“不可能”对象的信号。在本部分中,有两种重要的特殊情况,即在5.2.3中讨论的用于图形的欧拉方程,以及在5.4.25和5.4.27中讨论的用于曲面的欧拉方程。3.2.19量度extent实体域大小的度量。这种度量按适当的实体维数的单位进行,因此,长度、面积和体积分别用于1维、2维和3维的情况,必要时,用符号巨指明其量度。3.2.20有限的finite当一个实体域中的任何两点间的距离有有限的上界时,则该实体是有限的(有时称为有界的)。3.2.21图的亏格genusofugraph用算法定义的正整数常量。其所用算法是图的遍历算法,见5.2.3注释。3.2.22曲面的亏格genusofasurface即柄的个数,这些柄添加到球面上就产生了给定曲面的曲面同胚。3.2.23几何被创建geometricallyfounded用一个坐标空问维护各种几何表示项(见4.4.2)间关系的一种几何表示项特性,在这个坐标空间中,可测量随位置和方向而定的几何表示项上的点的坐标值和方向。3.2.24几何相关的geometricallyrelated在同一环境下两个几何表示项(见4.4.2)问的关系,利用这种关系可定义几何表示项间距离和方向的概念。.3.2.25几何坐标系geometriccoordinatesystem全部几何体都须参照作为基础的全局直角笛卡尔坐标系。3.2.26图graph顶点与边的集合。本部分中所讨论的图,在技术文件中通常称为伪图,因为它允许自环,也允许相同两顶点连接多个边。4 GB/T16656.42—2010/1SO10303-42:20033.2.27柄handle区别圆环面与球面的结构。它可视为在一个曲面中连接两个孔的柱状管。3.2.28同胚的homeomorphic如果存在一个从x到y的一一对应的连续函数厂,并且其逆函数,_1存在,且当,_1也连续时,则域x和y是同胚的。3.2.29内侧inside如果在同一个欧几里德空间R”中包含有两个域x和y,y把R”分成两个连通的部分,其中之一是有限的,而x则包含在有限部分中,就称域x在域y的内侧。3.2.30内部interiorR“中包含的一个d维域x内部的数学点z的集合。在R“中有一个包含z的开球u,使u与x之交unX与R4中的一个开球是同胚的。3.2.31表list可能带有重复元素的一个有序、同质元素的集合。一个表用封闭的方括号表示,如[A]。3.2.32模型空间modelspace定义物理对象几何的2维或3维空间。3.2.33开曲线opencurve具有两个不同端点的曲线。3.2.34开曲面opensurface一个具有边界但并不封闭的流形,它或者是无限的,或者是没把空间仅分成两个连通部分的曲面。3.2.35可定向的orientable如果对于一个曲面能够一致连续变化的选择其法线的方向,则称该衄面是可定向的。注:该法线向量的值并不要求连续变化,曲面的切平面可以有不连续的情况。3.2.36重叠overlap当两个实体具有共同的壳、面、边或顶点时,称这两实体为重叠。3.2.37参数范围parameterrange曲线、曲面或体的有效参数值的范围。3.2.38参数空间parameterspace与一条曲线相关联,并通过它可唯一确定参数化的一维空间,或与一个曲面相关联并通过它可唯一确定参数化的二维空间。5 GB/T16656.42—2010/]SO10303—42:20033.2.39参数集parametricvolume拥有相关参数关联系统的一个三维空间的有界实体,其内部每个点都与一个坐标值(“,u,w)相对应。3.2.40方位坐标系placementcoordinatesystem与空间中的几何实体方位相关联的一个笛卡尔直角坐标系,通常用于描述属性的说明,并把唯一的参数化方法与曲线和曲面实体联系起来。3.2.41自相交self-intersect如果在曲线或曲面域中的一个数学点是该对象参数范围内至少两个点的图像,且这两个点的一个位于参数范围的内部,则该曲线或曲面是自相交的。对于顶点、边或面,自相交定义同上。注:如果曲线或曲面是封闭的,则它们不被认为是自相交的。3.2.42自环self-loop两端点为同一个顶点的边。3.2.43集合set一个无重复元素的无序集。3.2.44空间的维数spacedimensionality在坐标空间中,定义一个点的位置所需要的参数个数。3.2.45曲面surface一个数学点的集合,它是在平面(R2)的一个连通子集上定义的连续函数的图像。3.2.46拓扑方向topologicalsense拓扑实体的方向是从它的属性次序导出的。示例1:一个边的拓扑方向是从该边的始顶点到该边的终顶点。示例2;一个路径的拓扑方向由已排序的边导出。3.3符号下述的符号和定义适用于GB/T16656的本部分。3.3.1几何与数学符号在表1中给出了几何模式中使用的传统数学符号。表1几何数学符号符号定义标量A向量<>向量的范式规范化向量(如n一(A)一A/AI)×向量积(叉积) 表1(续)GB/T16656.42—2010/ISO10303-42:2003符号定义标量积(点积)A—BA转化为B^(“)参数曲线口(“,u)参数曲面S(z,,,z)解析曲面C,c关于z的偏导数du一(“,口)关于“的偏导数S,S关于z的偏导数绝对值或数量或行列式R“珊维实空间3.3.2拓扑符号利用拓扑实体已经可以实现精确定义约束。在很多情况下,它们都是通过符号定义的,本章描述了为此目的所使用的符号。应当指出,这里所给出的定义是独立于EXPRESS的定义和用途的。拓扑结构有顶点、边、路径、环、面(和子面)和壳。它们将分别用V,E,P,L,F和s表示。必要时,某些实体可采用特殊的形式,并通过上标区别这些形式。示例1:一个环(100p)可以是顶点环(vertex_loop)、边环(edge_loop)或多边环(poly—loop),这些形式可分别加上标表示为¨,r,Lp。表2列出了在拓扑模式中使用的一些符号。无向边是一个边类型实体,但它不是有向边的子类型实体。在用该实体定义的一些实例中,一个拓扑属性可以采用(拓扑+逻辑)对的形式,这是有向子类型常用的表示法。为了便于对拓扑与(拓扑+逻辑)对进行区分,使用了下标,例如,E和E1,或So和s?。若干拓扑实体使用一个方向标志,用以指明被引用实体与引用实体的方向相同还是相反。如果该标志为TRUE,则两实体的方向相同,为FALSE,则被引用实体的方向(在概念上)与引用实体的方向相反。从高层引用实体到低层被引用实体的实体链中,常常可能有若干个方向标志。相对于高层实体,低层实体的方向可通过方向标志(OrientationFlags)链的同或(o)运算获得。例如,一个面引用一个I。oop+Loopflag标志,一个环引用一个Edge+Edgeflag标志,一个边引用一条Curve+Curveflag标志,则该面的“FaceCurveflag”由下式给出:FaceCurveflag=LoopflagoEdgeflagoCurveflag。其中同或运算解释为:当两个标志具有相同值时为TRUE。其真值表定义为:ToT—TToF—F=FoTFoF—T.由此,FOTOF—T.表2拓扑符号定义符号定义V顶点(Vertex)U单顶点的个数(Numberofuniquevertices)E无向边(Undirectededge)e单元向边的个数(Numberofuniqueundirectededges) GB/T16656.42—2010nso10303-42:2003表2(续)符号定义El有向边(Orientededge)SI单有向边的个数(Numberofuniqueorientededges)G。边的亏格(Edgegenus)P路径(Path)户单路径个数(Numberofuniquepaths)Go路径亏格(Pathgenus)L环(Loop)£单环个数(Numberofuniqueloops)Ll面界(Facebound)Cl单面界的个数(Numberofuniquefacebounds)r边环(Edgeloop)L9多边环(Polyloop)L7顶点环(Vertexloop)G1环亏格(Loopgenus)F面(Face)f单面的个数(Numberofuniquefaces)Ho面亏格(Facegenus)S壳(Shell)S单壳的个数(Numberofuniqueshells)S‘封闭壳(chosedshell)So开壳(openshell)S7顶点壳(vertexshell)S’线壳(Wireshell)H3壳亏格(Shellgenus)量度(Extent)(A}类型A的实体集(SetofentitiesoftypeA)[A]类型A的实体表(ListofentitiesoftypeA)3.4缩略语本部分使用了下述缩略语。辟rep——边界表示实体模型(boundaryrepresentationsolidmodel)csG——构造实体几何(c。nstructiveso!idgeometry)4几何下面的EXPRESS描述建立了geometry_schema,并标明了必要的外部引用。EXPRESS描述:*)SaⅡmgeometry_schwa;REFEERENCEFROMrepresentation_schema(definitional—representation,founded_item,functlonally_deflned_transformation,item_irLcontext,8 GB/T16656.42—2010nso10303-42:2003representation,representationitem,representation_context,usingrepresentations);REFERENCEFROMmeasure_schema(globalunitassigned-context,lengthmeasure,parameter_value,planeangle_measure,plane_angle_unit,positive—lengthmeasure{positive_plane_angle_measure);REFERENCEFROMtopologyschema(edge_curve,face_surface,poly_loop,vertexpoint);REFERENCEFROMgeometric_model—schema(block,boolean_result,cyclide_segment—solid,eccentric_cone,edgebasedwireframe_model,ellipsoid,face_basedsurface_model,faceted_primitive,geometr控set,halfspace_solid,halfspace_2d,pr】_mitive2d,rectangular_pyramid,right—angular—wedge,right—circularcone,right—circular—cylinder,shell—based_surface_model,sheiibasedwireframemodel,solid_model,sphere,toras),(*注1:上面所引用的模式可在GB/T16656的下述各部分中找到:representationschema16656.43measure—schemaISO10303—41topology—schema本部分的第6章geometric—modelschema本部分的第6章。注2:对geometric_representation_item超类型的定义仅需要引用topo[ogy—schema和geometricmodetscheraa。注3:本模式的图示表示见附录D的图D1~图D.13。4.1引言geometry_schema的研究对象是参数曲线和曲面几何。本部分中定义的representation—schema(见GB/T16656.43)和geometric—representation—context提供了定义几何的相关环境。其中geometric—representation—context使得在几何上相关的诸项与在独立坐标空间中原有的诸项之间能够加以区别。尤其,每个geometricrepresentation—item都有一个geometric—representation—context,其中包括把它的坐标空间的欧几里德维数作为geometric—representation—context的一个属性。在本章9 GB/T16656.42—2010/lSO10303—4212003中,描述几何表示项的空间坐标系称为几何坐标系。这个坐标系假设总是赋予了与length—measure和plane—angle—measure相关的单位。全局规则compatible—dimension保证了在同一个geometric—representationcontext内全部geometric—representation_item具有相同的空间维数。空间维数dim也是所有geometric—representation—item子类型的一个继承导出属性。4.2基本概念与设定4.2.1空间维数全部几何都须定义在各轴具有相同单位的右旋笛卡尔直角坐标系中。一个公用的模式已用于2维和3维几何的定义,模式中的点和方向都以2维和3维两种方式存在的,这两种方式的区别仅在于第三个坐标值的有无。复杂的几何实体全部也可以用从空间维数导出的点和方向来定义。4.2.2几何关系geometric—representation—context中representation所包含的全部geometric—representation—item都是几何相关的。任何这样的geometric—representation—item在该representation的相关环境中都认为是可以几何建立的。在不同representation中以项的形式出现的geometric~representation_item,诸如两点间的距离,都假定其之间没有任何几何关系。4.2.3解析曲线和曲面的参数化这里给出的每一个曲线或曲面都有一个确定的参数化定义。在某些情况下,定义使用的是参数术语;在另一些情况下,如圆锥曲线和初等曲面,定义使用的是几何术语。由于几何定义仅包含为此所需数据的一部分(而不是全部),所以在后者的情况下,是利用方位坐标系去定义参数化的。其中定义方位坐标系的有关数据包含在与每个曲线和曲面实体相关联的axis2一placement中。在曲面、曲线参数化中使用三角函数的地方,表示夹角的参数可认为是角度参数。且角度参数的数值应该由当前角度单位plane_angle—measure给出。4.2.4曲线在4.4中定义的曲线实体包括直线、初等圆锥曲线、一般的参数多项式曲线,以及一些参考性或过程性定义的曲线。所有这些曲线都有很好的参数化定义,使得它可以去修剪一条曲线或利用参数值去标定曲线上的点。曲线的几何方向是参数值增加的方向。如对于圆锥曲线使用的表示法,就是把圆锥曲线的几何形状同它们在空间中的方向和位置分开了。对于每一种实体,位置和方向信息都由axis2一placement实体传递。通用的参数曲线用kspline_curve实体表示,这种实体是所有类型的多项式和有理参数曲线通信表示的最稳定的形式。由于具有适当的属性值和子类型,所以b—spline—curve实体能够表示显式多项式、有理、贝塞尔(Bezier)或B样条诸类型的单跨或样条曲线。composite_curve实体用于构建更复杂的曲线,其可以方便地在曲线到曲线过渡点处进行连续性信息通信。offset—curve和curveOll—surface类型都是参照其他几何定义的曲线。单独的offset—curve对2维和3维应用来说是存在的。曲面上的曲线实体包括表示两个曲面相交的intersection—curve,这种曲线可表示在3D空间或在两个曲面中的任何一个的2D参数空间中。4.2.5曲面曲面实体支持简单的B-rep实体建模系统的要求,并能够与一般多项式和有理参数曲面通信。其中简单曲面指的是平面、球面、圆柱面、圆锥面、圆环面、surface—of—revolution和surface—of—linear—extrusion。与曲线的情况一样,所有曲面也都有相联的标准参数化定义。在许多情况下,根据定义,这些曲面是无界的,但这里假设它们或者是显式或者是隐式有界的。显式定界是由rectangular—trimmed—surface或curve—bounded-surface实体表示的;隐式定界要求相关附加拓扑信息能定义一个face。b—spline—surface实体及其子类型为所有类型的多项式和有理双参数曲面通信提供最全面的能力。这个实体利用控制点作为曲面几何表示的最适当的形式。offset—surface实体是已知曲面作简单的法】O GB/T16656.42—2010/ISO10303-42:2003向偏置所得到曲面的几何表示。rectangular—composite—surface实体提供把不同曲面片连接成矩形网格的基本能力,并表示了面片与面片之问的连续程度。4.2.6推荐形式某些几何实体拥有用多种方法去定义一个几何项的潜在能力,这就要求通过推荐一种“最优方式”或“主表示方式”来进行所需的描述,用它作为确定参数化的形式。注:要master_representation属性保证多种方式确实等同并且确切指出一种最好的方式肯定是不实际的.这可能需要数据的建立者自己去确定。对于一个具有多种表示方式的实体来说,诸如参数化、域及计值结果等,所有特性都应从主表示方式导出,任何其他表示法都是根据实际情况考虑的折衷方法。4.3几何常量和类型定义4.3.1dummy_gridummy—gri常量是建立geometric—representation—item类型时使用的一个部分实体定义。它提供正确的父型和空字符串的name属性。EXPRESS描述:*、CONSTANTdummygri:geometric_representation_item:=representatlon_item()fgeometric—representation_item();ENDCONSTANT;f*4.3.2dimension_countdimension_count定义了geometric—representationcontext的坐标空间维数,它是正整数的。EXPRESS描述:*、TYPEdimensioncount=INTEGER;WⅧ1皿WRI:SELF>0;END_TYPE;r*形式限制:WRl:dimensioncount的值需为正。4.3.3b..spline_curve_form这个类型用于指明这是一个由B样条曲线表示的某种特定形状曲线的一部分。EXPRESS描述:*)TYPEb-spline_curve_form=EN㈣TIONOF(polyline_form,circular_arc,elliptic—arc,parabolicarc,hyperbolic—arc,unspecifled);END_TYPE;(*枚举项的定义:polyline—form:一系列相连的直线段,通过1阶B样条基本函数表示的。circular—arc:一个圆弧,或一个完整的圆,由一个B样条曲线表示的。cliptic—arc:一个椭圆弧或一个完整的椭圆,由一个B样条曲线表示的。 GB/T16656.42—2010/Iso10303-42:2003parabolic_arc:一个有限长的抛物线弧,由一个B样条曲线表示。hyperbolic—arc:一个有限长的双曲线的一个分支弧,由B样条曲线表示。unspecified:没有规定具体形状的一个B样条曲线。4.3.4b_splinesurface_form这个类型用于指明这是一个由B样条曲面表示的某种特定形状曲面的一部分。EXPRESS描述:*)TYPEb_spline_surface_form=ENUMERATIONOF(plane_surf,c丑indric6lsurf,conical—surf,spherical~surf,toroidal_surf,surCof_revolution,ruled_surf,generalised_cone,quadric—surf,sl/rf-of_linear_extrusion,unspecifled);END_T仲E;(*枚举项的定义:plane_surf:一个平面的有界部分,它的每个参数都为1阶的B样条曲面所表示的。cylindrical—surf:一个圆柱面的有界部分。conical—surf:一个正圆锥曲面的有界部分。spherical—surf:一个球面的有界部分或~个完整的球面,由一个B样条曲面表示的。toroidal~surf:一个圆环面或其中的一部分,由一个B样条曲面表示的。surf—of—revolution:一个回转曲面的有界部分。ruled-surf:由两个参数曲线构成的曲面,它是由连接两曲线同参数值的对应点的直线构成的。generalised—cone:直纹面的~种特殊情况。其中,第二条曲线退化成一个点,当用B样条曲面表示时,沿着一条边的全部控制点都重合。quadric—surf:以z,Y,z变量表示的一个二阶曲面类的有界部分。surLof—linear—extrusion:一阶B样条曲面表示的线性延拓曲面的有界部分。unspecified:没有规定具体形式的曲面。4.3.5extent..enumeration这个类型用于描述一个对象的数量量度。EXPRESS描述:*)TYPEextent—enumeration=ENUMERATl0N0F(invalid,zero,finite_nonzero,infinite);END_TYPE;(*枚举项的定义:invalid:对于要被测量的量值,其量度的概念无效。zero:量度值为零。】2 GB/T16656.42—2010/ISO10303-42:2003finite—non_zero:量度值是有限的(有界的),但不为零。infinite:量度是无限的。4.3.6knot—type本类型指示的B样条节点应具有的一种特别简单的形式,即其节点本身是可以缺省的。这些类型说明的细节见B样条曲线实体的定义(4.4.35)。EXPRESS描述:*)TYPEknot_type=ENUMERATIONOF(uniform_knots,quasl_uniform_knots,piecewise—bezier—knots,unspecified);END_TYPE;(*枚举项的定义:uniform—knots:适用于均匀B样条曲线的节点形式。unspecified:没有规定节点的类型,这包括非均匀节点的情况。quasi—uniform—knots:适用于准均匀B样条曲线的节点形式。piecewise—bezier—knots:适用于分段贝塞尔曲线的节点形式。4.3.7preferred_surface_curve_representation这个类型用于指明曲面曲线表示的较优形式,这种曲线或为几何空间中的曲线,或为位于参数空间基曲面上的曲线。EXPRESS描述:*)TYPEpreferred_surfacecurve_representation=ENUMERATIONOF(curve_3d,pcurve_sl,pcurve_s2);END_TYPE;(*枚举项的定义:curve_3d:3D空间中优先选用的曲线。pcurve—sl:第一条优先选用的参数域曲线。pcurve—s2:第二条优先选用的参数域曲线。4.3.8transition_code这个类型描述复合曲线或曲面的连续特性,该连续性指的是几何连续性,而不是参数的连续性。EXPRESs描述:*)TYPEtransitioncode=ENUMERATIONOF(discontinuous,continuous,cont_same_gradient,cont_same_gradient_same_curvature);END_TYPE;(*枚举项的定义:discontinuous:各曲线段或曲面片是不连接的,这仅允许出现在曲线或曲面的边界处,以指明其是不封闭的。】3 GB/T16656.42—2010/ISO10303-42:2003continuous:各曲线段或曲面片是连接的,但这里并未说明其切线的状况。cont—same_gradient:各曲线段或曲面片是连接的,且它们的切向量或切平面是平行的,在连接处具有相同的方向,但不要求导数相等。cont—same—gradient—same_curvature:各曲线段或曲面片是连接的,它们的切向量平行且方向相同,在连接处曲率相等,但不要求导数相等。对曲面这意味着主曲率相同且主方向沿共同边界重合。4.3.9trimming_preference这个类型用于指明剪裁一个参数曲线的较优方式(其中,剪裁有多种定义)。EXPRESS描述:*)TYPEtrimming_preference=ENUMERATIONOF(cartesian,parameter,mmpecified);END_TYPE;(*枚举项的定义:cartesian:指明优先选用的笛卡尔坐标点进行剪裁。parameter:指明优先选用参数值进行剪裁。unspecified:不设定剪裁优先。4.3..0axis2一placement这个类型描述了2D或3D笛卡尔空间中的相互垂直的轴的位置。注:这个选择类型使实体获得相关轴的位置信息而无需指明其空间的维数。EXPRESS描述:*)TYPEaxis2一placement=SELECT(axls2_placement一2d,axis2一placement_3d);ENDTYPE;f*4.3.11curve_onsurfacecurve—on—surface是参数曲面上的曲线,它可以是下述曲线中的任何一种:——pcurVe;——surface_curve,包括intersection_curve和seam—curve特殊子类型;——composite—curveon—surface。为了方便引用,curve—on_sur{ace这个类型把这些曲线集合到一起。EXPRESS描述:*1TYPEcurve_on_surface=SELECT(pcurve,surface_curve,composite_curveon_surface);ENDTYPE;(*4.3—2pcurve—or_surface这个选择类型使曲面曲线标识为或是相关联的曲面类型,或是参数域曲线类型。EXPRESS描述:*)14 GB/T16656.42—2010/1so10303-42:2003TYPEpcurveorsurface2SELECT(pcurve,surface);END—TYPE;(*4.3.13surfaceboundary这个类型用来选择用于定义CUrVe—bounded—surface实体的边界曲线,其提供的选择边界为boundary—curve或degenerate—pcurve类型。EXPRESS描述:*)TYPEsurfaceboundary=SELECT(boundarY_eurve,degeneratepcurve);ENDTYPE;(*4.3.14trimming_select这个选择类型标识了剪裁一个参数曲线的两种可能的方法,即通过在曲线上的笛卡尔坐标点或通过在曲线参数范围内定义一个参数值的一个实数对参数曲线剪裁。EXPRESS描述:*1TYPEtrimming_select=SELECT(cartesianpoint,parameter—value);ENDTYPE}(*4.3.15vector_or_direction这个类型通常用于标识能够参与向量计算的实体类型。.EXPRESS描述:*)TYPEvector—or—direction。SELECT(vector,direction);ENDTYPE;C*4.4几何模式的实体定义本条包含全部显式几何实体。除在参数空间中定义的实体外,其余所有几何都在右旋笛卡尔坐标系(几何坐标系)中定义。右旋笛卡尔坐标系的空间维数由geometric—representation—item(见4.4.2)的相关环境确定。曲线和曲面的定义借助于点和/或向量和/或标量(长度)值基本上都全部给出。4.4.1geometric_representation—contextgeometric—representation_context是一种representationcontext。geometric—representation—item就是以几何方式建立在geometricrepresentation_context中的。geometric_representation—context是一个不同的坐标空间。其占有的坐标空间与其他的坐标空间并无相关性,除非这些坐标空间通过适当的变换而明确地表明彼此是相关的(见3.2对几何建立的和坐标空间的定义)。EXPRESS描述:*)ENTITYgeometricrepre8entationcontextSUBTYPEOF(representationcontext);15 GB/T16656.42—2010/[so10303-4212003coordinatespace_dimension:dimension_count;END_ENTITY;f*属性定义:coordinate_space—dimension:是geometric—representation_context的坐标空间的维数。注:coordinate_spacedimension允许范围的任何约束都超出了本部分的定义。4.4.2geometric—representation—itemgeometric—representation—item是一种representation—item,它具有几何位置或方向(或两者皆有)的附加意义。这意味着它:——是一个cartesian—point或一个direction;——直接引用cartesian_point或一个direction;——间接引用cartesian_point或一个direction。注1:间接引用cartesian—point或一个direction意味着一个已知的geometric—representation—item通过一个或多个中介属性引用了cartesian—point或direction。在许多情况下这个信息是以axis2一placement的形式给出的。示例1:考虑一个圆。圆引用axis2~placement得到几何位置和方向,axis2一placement则引用一个cartesianpoint和若干directions。示例2:manifold-solid_brep是一个geometric—representation—item,它通过几个topology—representation—item层引用curves、sur{aces和points。通过另外的关联实体曲线和曲面引用cartesianpoint和direction。注2:相关联的实体,其类型都是representation—item,但一定是geometric—representation—item子类型。考虑上例中的manifol疋solid_brep实体,相关联的representation_item层次中有一个是dosedshell。这个closed—shell是一个topological—representation_item,且按它自己的特性不需要一个geometric—representation_context。而当作为manifoldsolidbrep定义的一部分时它本身就是geometric—representation—item,它建立在geometric—representation_context上。注3:在一个表示中geometric—representation—item继承了与representation—context相关的特性。compatible—dimension规则保证了该representation—context是一个geometric—representation—context。在几何环境中,这个关系就导致以几何方式去建立geometric_representation—item。注4:representation_item的子类型都隐含地或直接地与goometricrepresentstion_item和topological—representation_item有关系。要创建的复杂的实例是edgecurve、face_surface和vertexpoint。EXPRESS描述:*)ENTITYgeometric—representation_itemSUPERTYPEOF(0NEOF(point,direction,vector,placement,cartesJantransformation_operator,Curve,surface,edgecurve,face_surface,poly_loop,vertexpoint,solid_model,boolean_result,sphere,right_circular—cone,rightcircular_cylinder,torus,block,primitivecL2d,right_angular—wedge,ellipsoid,faceted_primitive,rectangular—pyramid,cyclide_segmentsolid,volume,half—space_solid,half—space_2d,shell—based_surface_model,facebasedsurface_model,shell—based_wireframemodel,edge_based_wireframe—model,geometric_set))SUBTYPEOF(representationitem);DERIVEdin;dimension_coumt:=dinensionof(SELF);Ⅷm№WRI:SIZEOF(QUERY(usingrep(”using_representations(SELF)NOT(‘GEOMETRY_SCHEMAGEOMETRIc_REPREPERSENTATIONCONTEXT’INTYPEOF(using_repcontextofitems))))=0;END_ENTITY;16 GB/T16656.42—2010/[SO10303-42:2003(*属性定义:dim:geometric_representation—item中的dimension—count。形式限制:WRl:引用一个geometricrepresentationitem的任何表示环境都应是geometric—representation—context类型的。注5:dim属性是从geometric—representauon—context的coordinate—space—dimension中导出的,在这个环境中geometric—representationitem是通过几何的方式建立的。注6:geometricrepresentation—item是在一个或多个geometricrepresentation—context中以几何的方式建立的,所有这些geometric—representation—item具有相同的coordinate—space—dimension。见4.5的compatibledimen一5】ono4.4.3pointpoint是某真实笛卡尔坐标空间R“(m--1,2或3)中的一个位置。EXPRESS描述:*1ENTITYpointSUPERTYPEOF(ONEOF(cartesian_point,pointoil_curve,pointonsurface,Pointinvolume,point—replica,degenerate_pourve))SUBTYPEOF(geometric—representation_item);END_ENTITY;(*4.4.4cartesiⅫ——pointcartesian_point是在笛卡尔直角坐标系中或在参数空间通过坐标定义的point。该实体通过坐标表中的坐标个数在一维、二维或三维空间中定义。注1:在本部分中对几何的定义仅使用2维点或3维点。注2:在geometric_representation_context中,相关的点可能使用(z,Y,=),或(“,v),或其他表示形式。EXPRESS描述:*)ENTITYcartesian_pointSUPERTYPEOF(ONEOF(cylindricalpoint,polar_point,spherical—point))SUBTYPEOF(point);coordinates:LIST[13]OFlength_measure;END_ENTITY;(*属性定义:c。ordinates[1]:点位置的第一个坐标。coordinates[2]:点位置的第二个坐标,在1维点的情况下,该坐标不存在。coordinates[33:点位置的第三个坐标,在1维或2维的情况下,该坐标不存在。sELF\ge。metrIc—representation—item.dim:定义point的空间的维数。这是一个从几何表示项超类型继承的导出属性,且对一个笛卡尔坐标点,维数是由坐标表中的坐标个数确定的。4.4.5cylindrical.—pointcylndrical—point是cartesian—point的一种,它采用柱坐标系,以相应笛卡尔坐标系原点为中心来定义其位置。EXPRESS描述:*)ENTITYcylindrical—pointSUBTYPEOF(cartesian_point)’17 GB/T16656.42—-2010/iso10303-42:2003r:lengthmeasure;theta:plane—angle_measure;z:lengthmeasure;DERIVESFl2\cartesian_pointcoordinates:LIST[1:3]OFlength_measure:=[r*cos(theta),r*sin(theta),z];W皿REWRI:r)=00:ENDENTITY;f*属性定义:r:点到Z轴的距离。theta:包含这点的平面和XZ面及z轴之间的夹角。z:坐标点到XY面的距离。形式限制:WRl:r必须大于或等于0。非形式限制:IPl:theta值的范围o。≤theta<:360。。4.4.6spherical.—pointspherical—point是cartesian_point的一种,它采用球坐标系,以相应笛卡尔坐标系原点为中心来定义其位置。EXPRESS描述:*、ENTITYsphericalpointSUBTYPEOF(cartesi∞point);r:lengthmeasure;theta:plane_angle_measure;,、’pnx:plane_anglemeasure;DERIVESELF\cartesian_pointcoordinates:LIST[1:3]OFlengthmeasure:=[r*sin(theta)*cos(phi),r*sin(theta)*sin(phi),r*cos(theta)];WⅧ1皿.wRl:r>=00;END_ENTITY;(*属性定义:r:坐标点到原点的距离。theta:过原点和坐标点的直线和z轴的角度0。phi:X轴到过原点和坐标点的直线在xy面上的投影的角度≠。注:见图1。形式限制:WRI:r必须大于或等于0。非形式限制:IPl:theta值的范围o。≤theta≤180。。IP2:Phi值的范围0。≤phi<360。。 GB/T16656.42—2010/iso10303-42:2003图1spherical_point属性4.4.7polar_pointpolar_point是cartesian—point的一种,它采用二维极坐标系,以相应笛卡尔坐标系原点为中心来定义其位置。EXPRESS描述:*、EWIITYpolar_pointSUBTYPEOF(cartesians—point);r:length_measure;theta:plane_anglemeasure;DERIVESELF\cartesian_poIntcoordinates:LIST[1:3]OFlength_measure:=[r*cos(theta),r*sin(theta)];WHEREWRI:r)=00;ENDENTITY;(*属性定义:r:坐标点到原点的距离。theta:x轴和过原点与坐标点的直线的夹角。形式限制:WRl:半径r必须大于或等于0。非形式限制:1P1:theta值的范围O。≤theta<360。。4.4.8point—on_curvepoint_on_curve是位于曲线上的一个point。该点是通过在指定的参数值下对曲线计值确定的。点的坐标空间维数与basis—curve的维数相同。EXPRESS描述:]9 GB/T16656.42—2010/ISO10303-42:2003*)ENTITYpointoncurveSUBTYPEOF(point);basis—curve:curve;point_parameter:parametervalue;END_F嘲TITY{(*属性定义:basis—curve:即point—parameter所关联的曲线。point—parameter:point的位置参数值。SELF\geometric_representation—item.dim:即point—on—curve定义所在空间的维数,它与basis—curve的维数相同。非形式限制:IPl:point_parameter的值不应超出curve的允许参数范围。4.4.9point_on_surfacepoint—on—surface即位于参数曲面上的点。该点通过在给定的一对参数值下对曲面计值确定。EXPRESS描述:*1ENTITYpointonsurfaceSUBTYPEOF(point);basis—surface:surface;pointparameter_u:parameter_value;point_parameter_v:parameter_value;END_ENTITY;(*属性定义:basis_surface:与给定的参数值相关联的surface。point—parameter_u:point位置的第一个参数值。point—parameter_v:point位置的第二个参数值。sELF\geometr|c—representation—item.dim:即point—on—surface的坐标空间的维数,它与basis—curve的维数相同。非形式限制:IPl:u和v的参数值不应超出basis—surface的参数允许范围。4.4..0point_on—volumepoint—on—volume是~个位于一个volume内部或表面的point,该点通过在给定的几个参数值下对volume计值确定。EXPRESS描述:*)ElCfITYpoInt_in_volumeSUBTYPEOF(point);basisvolume;volume;point—parameter—u:parameter—value;point_parameter_v:parameter_value;point—parameter_w:parameter_value。END_ENTITY;(*属性定义:basis—volume:与给定参数值相关联的volume。20 GB/T16656.42—2010nso10303—42:2003point—parameter_u:point位置的第一个参数值。point—parameter_v:point位置的第二个参数值。point—parameter—w:point位置的第三个参数值。非形式限制:IPl:u、v和w的参数值不能超出basis_volume的参数允许范围。4.4.11point—replica这定义的是一个原有点(父点)在不同位置的复制点。该复制点与父点具有相同的坐标空间维数。EXPRESS描述:*)ENTITYpoint—replicaSUBTYPEOF(point);paren七一pt:poInt;transformation:cartesian_transformationoperator;WⅫ£REWRI:transformationdim=perenLptdim;HN2:acyclic—pointreplica(SELF,parent-pt);END_ENTITY;f*属性定义:parent—pt:要被复制的点。transformation:笛卡尔变换运算符,其定义了该复制点的位置。形式限制:WRl:transformation的坐标空间维数应与parent_pt的维数相同。WR2:point—replica不应参与自身的定义。4.4.12degeneratepcurvedegenerate_pcurve是一条参数空间曲线。由于它在3维模型空间中退化成一个点,因此,它是point的子类型而不是curve的子类型。注:例如,一个圆锥的顶点可表示成一个degenerate_peurve。EXPRESS描述:*)F21TITYdegeneratepcurveSUBTYPEOF(point);hasissurface:surface;reference_to_curve;definitional—representation;WHEREWRl:SIZEOF(referencetocurve\representationitems)=l;WR2·GEOMETRYSCHEMACURVE’INTYPEOF(reference_tocurve\representationitems[1]);wR3·reference_to_curve\representationitems[13\geometric_representationitemdim=2;END_ENTITY5(*属性定义:basis—surface:也就是degenerate—peurve位于其上的曲面。referenceto—curve:degenerate—peurve与退化成一个(等价)点的参数空间曲线之间的联系。形式限制:WRI:对应于reference—to—curve的degenerate—pcurve实体中的项集合应仅有一个元素。WR2:在该集合中的唯一项应是curve。2] GB/T16656.42—2010/ISO10303-42:2003WR3:这个参数空间曲线的维数应当是2。非形式限制:IPl:从模型空间的观点看曲线,degenerate_pcurve的弧长应为零。4.4.13evaluated_degeneratepcurveevaluated_degenerate—pcurve是一种degenerate—pcurve,该实体给出了degenerate—peurve的peurve和与它相关联的笛卡尔点的计值结果。EXPRESS描述:*)ENTITYevaluated_degenerate_pcurveSUBTYPEOF(degenerate_pcurve);equivalentpoint:cartesian_point;|END_ENTITY;(*属性定义:equivalent—point:在几何坐标系中由degenerate—pcurve表示的点。4.4.14direction该实体定义2D或3D空间中的普通方向向量。各分量的实际数值并不影响已定义的方向,仅要求z:y;z或z:Y的比例是有意义的。注:该实体的各分量并不是规范化的,如果需要一个单位向量,则在使用前应先行规范化。EXPRESS描述:*、ERTITYdirectionSUBTYPEOF(geometric_representation_item);direction_ratios:LIST[23]oFREAL;WHEREwRl:SIZEOF(QUERY(tmp(+direction_ratiostmp<>00)))0;ENDIKNTITY;(*属性定义:注:direction_ratios属性是一个列表,各元素定义如下。direction_ratios[1]:x轴方向上的分量。direction—ratios[2]:Y轴方向上的分量。direction—ratios[3]:z轴方向上的分量;在2维坐标空间中,这一方向的分量将不存在。SELF\geometric—representation—item.dim:方向所在坐标空间的维数。这是geometric—representation—item超类型的继承属性。对于该实体,它由表中direction_ratios的个数确定。形式限制:WRl:方向向量的量值应大于零。4.4.15vectorvector是一个向量,它通过向量的方向和量值来定义,量值属性的值定义了向量的大小。注:向量的量值不能从orientation的分量去计算,选择这种表示形式是为了减少数值不稳定的问题。例如,一个量值为2.0rxlrn且与各坐标轴的倾角相同的向量可用(1_0,1.0,1o)的方向属性来表示。EXPRESS描述:*)ENTITYvectorSUBTYPEOF(geometric—representation_item);orientation:direction;magnitude:length_measure;W目Ⅻ22 GB/T16656.42—2010/;so10303-4212003wHl:magnitude)200{END_ENTITY;(*属性定义:orientation:vector的方向。magnitude:vector的量值大小。magnitude为0.0的所有magnitude都认为在值上是相等的,而不考虑其orientation属性。SELF\geometric—representation—item.dim:定义vector所在空间的维数。形式限制:WRl:量值应为正值或零。4.4.16placementplacement实体定义一个几何项在相关几何环境坐标系中的位置。若它要定位的几何项的类型是轴方位子类型,则要给出该几何项的方向。EXPRESS描述:*)ENTITYplacementSUPERTYPEOF(0NEOF(axisl—placement,axis2一placement2d,axis2一placement_3d))SUBTYPEOF(geometricrepresentationitem);location:cartesian_point;ENDENTITY;(*属性定义:location:要被定位的几何项的一个参考点的几何位置,诸如一个圆的圆心。4.4.17axisl_placementaxisl—placement是三维空问中的一个单轴的方向和位置。它们是通过一个定位点(从方位超类型继承的)和一个轴的方向定义的,axisl一placement或是给出axis的方向,或是缺省为(O.0,0.0,1.o)。其实际方向由导出属性z给出。EXPRESS描述:*)ENTITYaxisl—placementSUBTYPEOF(placement)5axis:OPTIONALdirection;DERIVEz:direction:=NVL(normalise(axis),dummy_gridirection([o0,00,1o]));WHEREWRI;SELF\geometricrepresentationitemdim=3;END_ENTITY;f*属性定义:SELF\placement.10cation:在该轴上的一个参考点。axis:局部Z轴的方向。z:局部Z轴的法方向。SEL\geometric—representation—item.dim:axisl一placement的空间维数,这由轴的location确定,且总等于3。形式限制:WRl:坐标空间的维数应为3。23 GB/T16656.42—2010nso10303—42:20034.4.18axis2_placement_2d在二维空间中的两个相互垂直的轴的位置和方向。axis2一placement一2d是通过一个点(从方位超类型继承的)和一个轴定义的,它适用于2维空间中对象的定位和定向。它也可定义一个坐标系。该实体包括一个构成坐标系原点的点,完成坐标系的定义还需要一个方向向量。这个参考的方向向量ref—direction定义了方位x轴的方向,方位y轴的方向由它导出。EXPRESS描述:*1ENTITYaxis2一placement_2dSUBTYPEOF(placement);ref—direction:OPTIONALdirection;DERIVEP;LIST[2:2]OFdirection:=huild2axes(ref—direction);WⅡEREWRI:SELF\geometric—representation_itemdim22;END_ENTITY;(*属性定义:SEI。F\placement.10cation:参考点的空间位置,它定义了坐标系的原点位置。reLdirection:用于确定局部x轴方向的参考方向。如果ref—direction被省略,则其方向即采用其几何坐标系的方向。P:方位坐标系的轴集合。PEl]:x轴的法方向,如果ref_direction缺省,则它是(1.0,0.0)。PEg]:Y轴的法方向,这是一个导出属性且垂直于PIll。形式限制:WRl:axis2一p’acement一2d的空间维数为2。4.4.19axis2_plaeement_3daxis2一placement一3d是三维空间中的两个相互垂直的轴的位置和方向。三维空间的axis2一placement_3d实体是利用一个点(从方位超类型继承的)和两个(理想为垂直的)轴定义的。它可用于空间中非轴对称对象的定位和定向,也可作为方位坐标系使用。该实体包括一个构成方位坐标系原点的点。完成该方位坐标系的定义还需要两个方向向量。axis是方位z轴的方向,而ref—direction则是方位x轴方向的近似方向。注:设z是方位Z轴的方向,n是近似的方位x轴的方向。有两种在数学上等同、但在数值上不同的方法可用于计算方位x轴和y轴的方向:a)向量n投影到由原点P和向量z所定义的平面上,以给出方位x轴的方向为z=00);END_ENTITY;r*属性定义:SELF\placement.10cation:参考点以及相联方位坐标系原点的空间位置。axis:局部z轴的精确方向。reLdirection:用于确定局部X轴方向的参考方向。必要时可以进行调整,以保持与axis方向的垂直性。如果axis和\或reLdirection缺省,这些方向即采用几何坐标系的方向。P:方位坐标系的轴。这些轴的方向是从属性中导出的,如需要可带有适当的缺省值。Pill:x轴的法方向。P[2]:Y轴的法方向。P[3]:Z轴的法方向。注:这些属性的解释见图2P[2]图23D轴2方向形式限制:WRl:SELF\pacement—location的空间维数应当是3。WR2:axis的空间维数应当是3。wR3:reLdirection的空间维数应当是3。WR4:axis和ref-direction不应平行或反向平行,(这是build-axis规则所要求的)。4.4.20cartesian_transformation_operatorcartesian_transformation_operator是由平移、旋转、镜像和均匀比例缩放构成的几何变换。规范化的向量“定义了正交矩阵T的列向量,而这些向量通过base—axis函数从方向属性axisl、axis2、cartesian_transformation—operator一3d、axis3计算出来。如果}丁I一一1,则该变换包括镜像变换。局部原点A、缩放比例值s和矩阵T一起定义一个变换。具有位置向量P的point的变换由下式定义:P—,A+STPdirectiond的变换由下式定义:d—,丁0一个具有orientation的d和magnitude的k的vector的变换由下式定义:25 GB/T16656.42--2010/ISO10303—42:2003d一』d与^—,S^对于属性包含axis2一placement的实体,所经的推导,是对定义位置坐标direction的导出属性p进行变换的。对于经过变换的surface,任一点处的曲面法矢方向可以通过变换原始surface上对应点的法矢得到。对于有长度度量属性(例如圆的半径)的几何实体,属性值要乘以s。对于曲面上的曲线,p—curve.reference—to_curve不受任何变换的影响。对于反射和镜像变换,满足I丁I一1,经过变换,边界曲线的方向和curve_bounded—surface与face—surface曲面内部之间的关系受到影响。对于curve—bounded-surface曲面,如果经过变换后,n是曲面法矢,t是边界一点处的切矢,则指向内部的方向是jTJ”×z。对于face或face—surface曲面,如果IT一一1,那么经过变换后的面内部位于沿边界正向绕行的右侧。cartesian—transformationoperator应仅适用于各坐标轴具有同样单位的统一单位制定义的几何。如果全部属性都省略,则其变换也缺省为恒等变换。cartesian—transformation—operator仅应作为它的子类型之一予以例示。注;变换作用的实例见图3a)~图3c)。EXPRESS描述:*)ENTITYcartesian_transformationoperatorSUPERTYPE0F(0NEOF(cartesian—transformationoperator_2d,cartesian_trdnsformationoperator一3d))SUBTYPEOF(geometricrepresentationitem,functionally_defined_transformation){axisl:0PTTONALdirection;axis2:OPTIONALdirection;local—origin:cartesianpoint;scale:0FFf0RALREAL;DERIVEscl:REAL:=NVL(scale,1O);WHEP巩WRI:scl)00;ENDENTITY;f*变换(旋转)后a)图33D笛卡尔变换运算符变换前的形状 变换(旋转后的形状GB/T16656.42—2010/ISO10303-4212003\、一变换(旋转、,/_\放缩、平移)后的形状b)变换前的形状Ac)图3(续)属性定义:axisl:用于确定u(1)的方向,导出x轴的方向。axis2:用于确定u(2)的方向,导出y轴的方向。local—origin:经过变换后得到的一个笛卡尔点。这个变换的实际平移就是从几何原点到局部原点。scale:规定用于缩放变换的比例值。scl:缩放变换导出的比例值s,如果存在则等于scale,否则等于1.0。形式限制:WRl:导出的缩放比例值scl应大于零。 GB/T16656.42—2010/ISO10303-42:20034.4.21cartesian_!ransformation_operator_3dcartesian_transformation_operator一3d定义在3维空间中的几何变换,包括平移、旋转、镜像和均匀比例缩放。规范化的向量“定义了正交矩阵丁的列向量。这些向量通过base—axis函数从方向属性axisl、axis2和axis3计算出来。如果1T1一~1,则包括镜像变换。EXPRESS描述:*)ENTITYcartesiantransformation_operator3dSUBTYPEOF(cartesiantransformationoperator);axis3:OPTIONALdirection;DERIVEu:LIST[3:33OFdirection:=base_axis(3,SELF,cartesian_transformation_operatoraximl,SELF\cartesian_transformationoperatoraxis2,axim3);WHEREWRI:SELF\geometric—representationitemdim=3;END_ENTITY;(*属性定义:SELF\cartesian—trans{ormation—operator.axisl:用于确定u[1]的方向,导出的x的方向。必要时,可调整uD]’,使之垂直于u[3]。sELF\cartesian—transformation—operator.axis2:用于确定uEZ]的方向,导出的y的方向。必要时,可调整u[2],使之垂直于u[1]和u[3]。SEI。F\cartesan_transformaton—operator.axis3:精确的u[3]方向,导出的z的方向。SEI.F\cartesian—transformation_operator.10cal—origin:经过平移变换后得到的一个笛卡尔点。这个变换的实际平移就是从几何原点到局部原点。SEI。F\cartesian—transformation—operator.scale:为该变换所规定的缩放比例值。SELF\cartesian—transformation—operator.scl:该变换的导出缩放比例值s,如果它存在,则等于scale,否则为1.0。U:定义变换矩阵T的、互相垂直的规范化的列向量。它们依次从显式属性axis3、axisl、axis2导出。形式限制:WRl:该实体的坐标空间维数应为3。4.4.22eartesian_transformation_operator一2dcartesian_transformation—operator一2d定义在2维空间中的几何变换,包括平移、旋转、镜像和均匀比例缩放。规范化列向量U定义一个正交矩阵T的列。这些向量通过base_axis函数由方向属性axisl、axis2计算得到。如果}Tf—l,则该变换包含有镜像变换。EXPRESS描述:r*ENTITYcartesian_transformationoperator_2dSUBTYPEON(cartesiantransformation_operator);DERIVEu:LIST[22]OFdirection:=baseaxis(2,SELF\cartesi如transformation_operatoraxisl,sELF\carteslantransformatlon-。peratoraxis(2,?);WHEREWRI:SELF\geometric—representation_itemdim=2;28 GB/T16656.42—2010/ISO10303—42:2003ENU_ENTITYo(*属性定义:SELF\cartesian—transformation_operator.axisl:用于确定u[1]的方向,导出的x轴的方向。SELF\cartesian_transformation—operator.axis2:用于确定u[2]的方向,导出的Y轴的方向。SELF\cartesJantransformation—operator.10cal_origin:经过平移变换后得到的一个笛卡尔点。这个变换的实际平移就是从几何原点到局部原点。SELF\cartesiantransformation—operator.scale:为该变换所规定的缩放比例值。SELF\cartesian—transformation—operator.sel:该变换的导出缩放比例值S,如果其存在则等于scale,否则等于1.0。u:定义变换矩阵_r的、互相垂直的规范化列向量。它们依次从显式属性axisl、axis2中导出来。形式限制:WRl:该实体的坐标空间维数应为2。4.4.23carve一条curve可设想为一个点在它的坐标空间中运动的路径。EXPRESS描述:*)ENTITYCUrgeS【)】jEM船EOF(ONEOF(1ine,conic,clothoid,circular_involute,pcurve,surface_curve,offsetcurve_2d,offset—curve_3d,curve_replica))SUBTYPEOF(geometric_representation_item);ERD_F/ITITY;(*非形式限制:IPl:curve应是弧式连通的。IP2:curve的弧长应大于零。4.4.24line一条line是一条切线方向不变的无界曲线。line由一个point和一个direction定义。line的正向是由dir向量确定的。该曲线的参数化如下:p--pntV=dir^(“)一P+uV且参数“的范围为一。。<“<+。。。EXPRESS描述:*、ERTITYlineSUBTYPEOF(curve)opnt:cartesian_point;dir:vector;WHEREWRI:dirdim=pntdimIEND_Eh订ITY;f*属性定义:pnt:line的定位点.dir:line的方向。dir的量值和单位影响着曲线的参数化。29 GB/T16656.42—2010/[SO10303-42:2003SELF\geometric—representation_item.dim:line的坐标空间维数。这是几何表示项超类型的继承属性。形式限制:WRl:pnt和dir应当都是2维或3维实体。4.4.25conicconic是一条平面曲线,它可以由一平面与一个圆锥相交而成。conic曲线是通过内在几何特性定义的,而不是通过其他几何描述的。conic实体带有一个由axis2一placement属性定义的方位坐标系,且通过这个方位坐标系来定义它的参数化表示。EXPRESS描述:*)ENTITYconicSUPERTYPEOF(ONEOF(circle,ellipse,hyperbola,parabola))SUBTYPEOF(curve);position:axis2placement;ENDENTITY;r*属性定义:position:圆锥曲线的位置与方向,该属性更详细的说明在其各子类型中给出。4.4.26circlecircle由其半径及位置和方向定义的一种圆锥截线,其数据说明如下:C=position.10cation(center)X--position.P[13y—position.P[2]2=position.P[3]R=radius且参数化为:A(“)--C+R((cosu)x+(sinu)y)参数范围是:0。≤u<360。,“是一个角度参数,其参数值由当前角度单位plane_angle—measure决定。0在上面定义的方位坐标空间中,圆的方程为c一0,其中:C(x,,,z)一z。+y2R2圆在任意点的正方向就是该曲线在该点的切线方向,其中切线方向丁为:T=(一C—C,O)注:圆弧由trimmed_curve实体连同circle一起来定义。EXPRESS描述:’)ENrITYcircleSUBTYPEOF(conic):radius:positivelengthmeasure;END_ENTITY;(*属性定义:SELF\conic.position.10cation:该继承属性定义圆心。radius:circle的半径,应大于零。注:属性说明见图4。30 GB/T16656.42—2010/ISO10303-42:2003参考方向口口]图4圆4.4.27ellipseellipse是由长、短半轴的长度和曲线的位置(中心或焦点连线的中点)和方向定义的一条圆锥截线。其数据说明如下:C=position.10cationz—position.P[1]Y=position.p[2]z—position.p[33R1=semi—axis一1R2一semi—axis一2其参数方程为:^(“)一C+(R1cosu)x+(R2sinu)y参数范围是o。≤u<360。,“是一个角度参数,其参数值由当前角度单位plane—angle—measure决定。l在上面定义的方位坐标系中,椭圆的方程为C--0,其中:C(x,y,z)=,172/R}+y2/Rl一1椭圆在任意点的正方向就是该曲线在该点的切线方向,其中切线方向T为:T一(一C—C,0)EXPRESS描述:*、ENTITYellipseSUBTYPEOF(conic);semi—axis一1:positive_length_measure;s鲫a_axls_2·positlvelengthmeasure;END_ENTITY;(*属性定义:SELF\conic.position:conic.position.10cation:是椭圆的中心点,而conic.position.P[1]是semi—axisj的方向。semi—axis_l:椭圆的第一个半径,其量值应为正值。 GB/T16656.42—2010/ISO10303-42:2003图5椭圆semi—axis一2:椭圆的第二个半径,其量值应为正值。注:属性说明见图5。4.4.28hyperbolahyperbola是由实半径与虚半径和曲线的位置(两焦点连线的中点)和方向所定义的圆锥截线,其数据说明如下:C—position.10cationz—position.PIlly—position.e[zlZ--position.P[3]R1一semi—axisR2=semi—imag—axis其参数方程为:A(“)一C+(R1coshu)x+(R2sinhu)y参数范围为一oo00}END_Eh汀ITY;r*属性定义:SELF\conic.position:曲线的位置和方向。conic.position.10cation是抛物线的顶点,conicposition.PEl]是对称轴。 GB/T16656.42—2010/ISO10303-42:2003focal—dist:从顶点到焦点的距离。注:属性说明见图7。形式限制:WRl:焦距不应为零。圈7抛物线4.4.30clothoidclothoid是一种平面螺旋线,其特点是曲率随弧度线性的改变。数据说明如下C—position.10cationz—position.pElJY=position.p[2]A=clothoid—constantclothoid可如下表示:地,一c+A打(』:cos(“鲁)舭+黔n(“告)岫)其中一o。<“<+o。。通过c点的曲线的弧长5,按下述公式计算:s—Au,,/n曲线上任一点的曲率k和曲率半径p都与弧长有关,公式如下:.s16一矛,P2i注:关于clothoid曲线的更详细描述见参考文献[4]ExPRESS描述:*)ENTITYclothoidSUBTYPEOF(curve);position:axis2一placement;clotholdconstant:lengthmoasuro;ENDENTITY;(*属性定义:position:clothoid的位置和方向。position.10cation:曲线上曲率为0的点。 GB/T16656.42—2010/ISO10303—42:2003position.p[1]:曲线上当前点的切线方向。注:如果position类型为axis2placement一2d,则clothoid定义在二维空间中clothoid—constant:定义了曲线曲率和弧长之间关系的常量。注:属性更详细的解释见图8。Q。 GB/T16656.42—20IO/ISO10303—42:2003图9圆渐开线属性定义:position.10cation:定义circular—involute的基圆圆心C。position.pD]:从基圆圆心到circular_involute尖点Po的方向。base_radius:基圆的半径,它是circularinvolute的包络线。4.4.32bounded_curvebounded_curve是一条带有可识别端点的有限弧长的curve。注:bounded—curve并不包括在曲线的ONEOF表中,因此也没有和其他曲线的子类型有必然的联系,从bounded—curve中可以导出的复杂实体有bounded—pcurve以及bounded.surface_curve。EXPRESS描述:*)ENTITYboEmded_curveSUPEI{YYPEOF(ONEOF(polyline,b-spline_curve,trilDmed_curve,bounded_pcurve,bounded_surfacecurve,composite_curve))SUBTYPEOF(curve);END_ENT矾x}(*非形式限制:IPI:bounded_curve具有有限的弧长。IP2:bounded_curve具有始点和终点。4.4.33polylinepolyline是由P,,P。⋯⋯P。”个节点序列所定义的”一1个线段构成的bounded—curve。曲线第i段的参数化表示为:对于14i4n--1^(“)一P,(i一“)+P⋯(U+1i)其中i一1≤“≤i,且其参数范围为:04“≤”1。EXPRESS描述:*)‘ENTITYpolylineSUBTYPEOF(botmded_curve);points:LIST[2:?]oFcartesian_point%END_ENTITY;(*属性定义:points:定义polyline的cartesian—pointd4.4.34bspline_curveb_spline—curve是借助于控制点和基本函数描述的分段参数多项式形式或有理式形式的曲线。b一36 GB/T16656.42—2010/[so10303-42:2003spline_curve已被选为表示所有类型的多项式或有理参数曲线的最适当的形式。通过适当的属性值,它能表示显式多项式形式的、有理的、Bezier或B样条类型的单跨或样条曲线。b—spline—CUrVe有三种特殊的子类型,由它们可导出节点和节点的重数,并具有提供简单的缺省值的能力。注1:对性能和有效性的问题进行计算时,识别b_spline_curve的缺省值和子类型是很重要的。注2:当且仅当其权因子不全相等时,b_spline是有理的;这种情况可以用rationalb—spline—curve子类型表示。当它是多项式时,其权因子缺省时全部为1。注3:在b—spline—curve是均匀的、准均匀的或者为Bezier(包括分段Bezier)的情况下,节点和节点重数可以缺省(即属性定义中规定数据可以不出现)。注4:节点缺省时,假设各节点间的差为1.0,并且所产生的曲线的有效参数范围从0.0开始。这些缺省值由子类型提供。注5:在非均匀的情况下,节点和节点重数不应缺省。注6:权因子和节点的缺省彼此无关。注7:B样条基函数N?(“)的定义可在参考文献[1]、[2]、[3]中找到。应当注意,各参考资料使用的术语是有差别的。数据说明如下:a)多项式曲线由下式给出:七A(“)一厶P,N?(“)i一0b)在有理的情况下,所有权因子应为正值且曲线由下式给出:^∑wiP。~?(“)A(")一2÷————一∑W,Nf(u)i=n式中:^+1一控制点的个数;P,=控制点;W。=权因子;d一阶。节点数组是(女+d+2)个实数[“。,⋯⋯“。]组成的数组,对于在[~d,^]中的所有下标j,数组都有“,≤U。。这个数组根据节点重数,通过反复每个重复节点而从knots数据表中得到。第i个d阶规范B样条基本函数M4定义在这个数组的子集[“一,⋯⋯“一]上。c)设L指示在节点表中d+女+2个节点间不同值的个数。L将称为节点的上标。设m,指示第j个不同节点的重数(即重复的次数),则:L∑m.一d+k+2I=1除第1个与最后一个节点外,所有节点的重数都应在1⋯⋯d的范围之内,第1个和最后一个节点重数的最大值可为d+1。在基本函数的计算中,例如重数为3的节点“,在节点数组中被解释为“,“,H序列。b—spline—curve有3种特殊的子类型,提供简单的缺省能力,由它可导出节点和节点重数。注8:曲线定义的进一步信息见图lo。37 GB/T16656.42—2010/ISO10303—4212003图10B样条曲线EXPRESS描述:*)ENTITYb_splinecurveSUPERTYPEOF(ONEOF(:tmiform_curve,bsplinecurve_withknots,quasiuniform_curve,beziercurve)ANDORrational——b——spline—.curve)SUBTYPEOF(boundedcurve);degree:INTEGER;controlpointslist:LIST[2:?]OFcartesian_point;curve_form:Lspline_curve_form;closedcurve:LOGICAL;self—intersect:LOGICAL;DERI、7Eupper_index_on_controlpoints:INTEGER:=(SIZEOF(control—points—list)1);controlpoints:ARRAYE0:upper_indexon_control—points]OFcartesian_point:2list—to_array(control—points—list,0,upper_index_on_control—points);WHEREWRI:(‘GEOMETRY_SCHEMAUNIFONMCURVE’INTYPEOF(self))OR(‘GEOMETRY_SCHEMAQUASZ—UNIFORM_CURVE’工NTYPEOF(self))OR(‘GEOMETRY_SCHEMABEZIERCURVE’INTYPEOF(self))OR(’GEOMETRYSCHEMABSPLINE_CURVE_WI删一Ⅻ0Ts’INTYPEOF(self));END—ENTITY;(*属性定义:注9:在数据描述为“仅作为信息”处,意味着如果在这个信息与由曲线自身导出的特性之间有不一致的地方,则曲线数据优先。degree:基函数的代数阶。control—points—list:曲线的控制点表。curve—form:标识曲线的具体类型。这仅作为信息(详见4.3.3)。closed—curve:指明曲线是否是封闭的。这仅作为信息。selLintersect:标志曲线是否为自相交。这仅作为信息。SEI。F\geometric—representation_item.dim:曲线坐标空间的维数。upper—index_on—contro[一points:控制点数组的上标,下标为零,这个值是从控制点表中导出。control—points:用于定义曲线几何的控制点数组。它从控制点表导出。形式限制:WRl:该实体的任何示例都应是b—spline—curve—with—knots、uniform—curve,quasi—uniform—curve或Bezier_curve子类型之一。38 GB/T16656.42—2010/lso10303—42:20034.4.35b_spline_curve_with_knotsb—spline—curve—with—knots是b—spline—curve的子类型,其显式地给出子节点值。该子类型通常用于表示非均匀B样曲线,也可用于其他节点类型的表示。设L指示节点表中d+^+2个节点间不同值的个数。则L称为节点的上标。设m,指示第j个不同节点的重数(即重复的次数),则:L∑Ⅲ.一d+k+2l=1除第1个与最后一个节点外,所有节点的重数范围都应在1⋯⋯d之间;第1个和最后一个节点重数的最大值可为d+1。在基函数的计算中,例如重数为3的节点U在节点数组中被解释为“,“,U序列。EXPRESS描述:*)ENTITYb_spline_curve—with_knotsSUBTYPEOF(bspline_curve);knot—multlpliclties:LIST[27]OFINTEGER;knots:LIST[27]OFparameter_value;knot_spec:knottype;DERIⅦupper_index_onknots:INTEGER:=SIZEOF(knots);wI皿REWRI:constraints—param—b_spiine(degree,upper_index_onknots,upper_index_on_controlpoints,knot_multiplicities,knots);WR2:SIZEOF(knot_multiplicities)=upper—index_onknots;KNDENTITY;(*属性定义:注:在数据描述为“仅作为信息”处,意味着如果在这个信息与由曲线自身导出的特性之问有不一致的地方,则曲线数据优先。knot—multiplicities:节点的重数。该表规定了构造节点数组时节点表中每个节点的重复次数。knots:定义B样条基函数的不同节点的表。knots—spec:节点类型。仅作为信息。SEI.F\b—spline—curve.curve—form:曲线的具体类型。仅作为信息(详见4.3.3)。SEI。F\b—spline—curve.degree:基函数的代数阶。SELF\b—spline—curve.closedcurve:指明曲线是否封闭。仅作为信息。SELF\b—spline—curve.self—intersect:标志曲线是否为自相交。仅作为信息。dim:曲线坐标空间的维数。SEI。Fkb—spline—curve.upperindex_on—control—points:控制点数组的上标,下标为零,该值从控制点表导出。upperindex_on—knots:节点数组的上标,下标为零。SELF\b—splinecurve.control—points:定义曲线几何控制点数组,该值从控制点表导出。形式限制:WRl:当B样条的参数化过程中没有发现不一致时,constraInts_param—b—spline返回TRUE。WR2:在节点重数表中的元素个数应等于节点表中元素的个数。4.4.36uniform_curveuniform—curve是b—spline—curve的一种特殊类型,其节点是均布的且节点和节点重数可导出适当的缺省值。 GB/T16656.42--2010/LSo10303-42=2003当且仅当全部节点重数都为1,且每个节点与前一节点的差为一正常数时,该B—spline为均匀的。在这个子类型中,节点的间隔为1.0。其代数阶为d阶且从一d开始。注:当B_spline_curve是均匀的,且阶等于1时,则该13spline等价于po|yline。EXPRESS描述:*)EI!ITITYtmiformcurveSUBTYPEOF(b-spline_curve);END_ENTITY;(*注:k—up可作为节点和节点重数表的上标,它是从阶次和控制点的个数计算出来的。k—up—SELF\b—spline—curve.upper_index_oncontrol_points+degree+2。如果需要,则节点和节点重数可通过调用下述函数来计算:defaultbspline_knots(SELF\b—spline_curve,degree,k—up,uniform—knots),defaub_b一.spline_kaot_mult(SELlnb_spline_eurve.degree一一up,uniform—knots)。4.4.37quasi——uniformcurvequasi.一uniform—curve是B_spline.一curve的一个特殊类型,其节点是均布的,且除首末两点外,节点重数皆为1。在这种情况下,可导出节点与节点重数适当的缺省值。当且仅当在端点的节点重数为(代数阶+1),且其他节点的重数为1,每个节点与前一节点之差为~正常数时,该B-_spline为准均匀的。仅有两个节点的quasi—uniform—B_spline表示一条Bezier曲线。在这种子类型中,节点间距为1.0,从0.0开始。ExPREss描述:*、nNTITYquasi—uniform_curveSUBTYPEOF(b_spline_curve);END_ENTITY;(*注:k一3ap可作为节点和节点重数表的上标,它是从阶次和控制点的个数计算出来的。k—up—SELF\b—spline_curve,upper_index_on_eontro[一points—degree+2。如果需要,则节点和节点重数可通过调用下列函数来计算:default_bsplineknots(SELF\b-spline—CUrVe,degree,k—up,quasi.一uniform_knots)default_bsplineknot_muhfSELF\b_.splinecurve,degree,k-up,quasi.umformknots)4.4.38bezier_curve通常情况下,这个子类型表示~条分段Bezier曲线。这是曲线的一种特殊类型,它也可能表示为b~.splinecurve的一个子类型,其中节点间距是均布的,且具有较高的重数。在这种情况下,节点和节点重数可导出适当的缺省值。除了b—sphne—curve内部节点的重数不是1的情况外,准均匀的b—spline.一curve是一条“分段”Bezier曲线,在这个子类型中,节点间距为1.0,从0.0开始。仅有0.0和1.0两个节点,且每一个的重数为(代数阶+1)的分段Bezier曲线是一个简单Bezier曲线。注1:简单Bezier曲线可通过下述数据定义为带有节点值的B样条曲线:degree(d)upperindexoncontrolpoints(等于d)controlpoints(d+1个笛卡尔点)knottype(等于准均匀节点)knotmultiplicities(d+1,d+1)knots(0.0,1.0)除对于有理Bezier曲线外,不需要其他数据。在这种情况下,应给出权因子数(d+1个实数)。注2:应当指出,每一个分段Bezier曲线都可以等价地表示为~条B样条曲线。由于存在非均匀节点,不是每个B40 GB/T16656.42—2010/ISO10303—42:2003样条曲线都可以表示为一个分段Bezier曲线。将分段Bezier曲线定义为一条B样条曲线,要求;——第1个节点为0.0,且重数为(d+1)。——下一个节点为1.0,且重数为d(如果它不是最后一个节点的话,第一段的节点现在已定义)。——再下一个节点为2.0,且重数为d(如果它不是最后一个节点的话,第二段的节点现在已定义)。——继续直到最后一段端点,称该段为第n段,这个末端节点值为n,重数d+1。示例1:第一段3阶Bezier曲线,应具有节点序列(o,1),重数序列(4,4)。示倒z:第二段3阶分段Bezier曲线,应具有节点序列(o,1,2),重数序列(4,3,4)。注3:对于分段Bezier,当阶为d,控制点数为女+1,带有重数d的节点数为m,该样条的节点总数为N时,有(d+2+^)=N一(d+1)+md+(d+1)则,;91--(女一d)/d。由此,节点序列为(o,1,⋯⋯,m,(m+1)),重数序列为(d+1,d,⋯⋯,d,d+1)。EXPRESS描述:*)ENTITYbezier_curveSUBTYPEOF(b_splinelcurve);END_ENTITY;(*注4:k-up可作为节点和节点重数表的上标,它是从阶次和控制点的个数计算出来的。k_up一皿盟驾蒜悉糕宝胬祟警+,如果需要,节点和节点重数可通过调用下列函数计算:default—b—spline—knots(SELF\b—spline—curve.degree,k—up,piecewise_bezier_knots)default—b—spline—knot—mult(SEI。F\b—spline—curve.degree,k—up,piecewise—bezier_knots)。4.4.39rational—b—spline_curverational—b—spline—curve是一个通过控制点和基函数描述的分段参数有理曲线。这个子类型借助其他b—spline—curve子类型(其显式或隐式地提供了定义基本函数的节点值)进行例示。所有权因子都应为正值,且曲线由下式给出:∑”;P.N?(“)A(“)一2÷————一∑WiN?(“)式中:^+1一控制点的个数;P:一控制点;∞,一权因子;d一代数阶。EXPRESS描述:*)ENTITYrational—b_spline_curveSUBTYPEOF(b_splinecurve);weights—data:LIST[2:?]OFREAL;DERI、7Eweights:ARRAY[o:upper_indexoncontrol—points]oFREAL:=list—to_array(weightsdata,0,upper_index_oncontrol—points);W印£RE GB/T16656.42—2010/toO10303-42:2003WRI:SIZEOF(weights—data=sTzEoF(sELF\b_spline_curvecontrol—points—list);WR2:curveweights—positive(SELF);END_ENTITY;(*属性定义:注:在数据描述为“仅作为信息”处,意味着如果在这个信息与由曲线自身导出的特性之间有不一致的地方,则曲线数据优先。weights—data:权因子值。可导出属性weights。SELF\b—spline_curve.degree:基函数的代数阶。SELF\b-apline_curve.curve_form:标识曲线的具体类型。它仅为信息(详见4.3.3)。SELF\b—spline_curve.closedcurve:指示曲线是否为封闭的。它仅为信息。SELF\b—spline—curve.selLintersect:标志曲线是否为自相交。它仅为信息。SELF\b_spline_curve.upper_index_on_control~points:控制点数组的上标,下标为0,该值是从控制点表导出的。SEI,F\b—spline—curve.control_points:定义曲线几何的控制点数组。它是从控制点表导出的。Weights:与控制点相联的权因子数组。它是从weights_data中导出的。形式限制:WRl:weights中元素的个数与控制点的个数应相同。WR2:所有weights的值都应大于0.0。4.4.40trimmed_curve该曲线是一条有界曲线,它是通过选择相关基曲线两个标定点间的曲线部分而创建的。基曲线本身不会因此而改变,且多条的trimmed—curve可引用同一条基曲线。该曲线的剪裁点可利用下述方式标识:——利用参数值;——利用几何位置;——利用前两者;该曲线的每个端点,至少是上述三种类型之一。sense使它能够明确地定义一封闭曲线(诸如一个圆等)的任何一段,通过aense和有序端点的组合,能够定义圆或其他封闭曲线上的连接两个不同点的四条不同的有向曲线段。为此,应假设参数范围具有循环特性,如370。等于10。。Trimmed—curve的参数化方法是从被引用的基曲线继承而来的,更确切地说,Trimmed—curve的参数s是从如下所述的参数为t的基曲线导出的:如果sense为TRUE:S—ttl如果sense为FAI.SE:S=t1一t在上面的方程中,f。的值由trim一1或对应于point_l的参数值给出。t。的值由trim一2或对应于point_2的参数所给出。如果生成的剪裁曲线具有参数s,则其范围为从第1个剪裁点的0到第2个剪裁点的1tz—t,I。注1:对于封闭基曲线,为了方向标志的一致性,可能需要利用参数长度来增加tt或r。。注2:例如:a)当属性senseagreement=TRUE且t2<“时,则利用参数长度来增加t2。b)当属性sense_agreement=FALSE且t。<屯时,则利用参数长度来增加t。。EXPRESS描述:*)ENTITYtrimmed_curveSUBTYPEOF(boundedcurve);42 GB/T16656.42—2010/IN)10303—42:2003basis—surve:curve;trim_l:SET[I:2]OFtrimming_select;trlm_2:SET[I:2]OFtrimming_select;sense_agreement:BOOLEAN;master_representation:trimming_preference;WⅡⅫWRI:(HIINDEX(trim_1)=1)OR(TYPEOF(trim_l[i])<>TYPEOF(trim_l[23));m:(HIINDF/4(trira_1)=1)OR(TYPEOF(tri孤_2[1])<>TYPEI。F(trlⅢ_2[2])){ENDENTITY;f*属性定义:basis—curve:要剪裁的curve。对于具有多种表示法的曲线,trim_1或trim一2参数值仅指的是由basis—curve的主表示法给出的值。’trim-1:第1剪裁点,可定义为一个笛卡尔点(point一1)或一个实参数值(parameter-1=t。),或两者。trim一2:第2剪裁点,可定义为一个笛卡尔点(point一2)或一个实参数值(parameter一2一t。),或两者。sense_agreement:Triremed_curve的方向与basis—curve的方向是否一致的标志。——如果曲线方向为沿参数值增加的方向,senseagreement=TRUE。——senseagreement—FALSE则不然,对于一个开曲线,当t2parameter一2。IP5:当由trim一1或trim一2规定一个参数值时,它应当在basis—curve的参数范围之内。4.4.41composite_curvecomposite—curve是端点与端点相连的曲线的集合,其各个曲线段本身被定义为composite—curve—segments。compositecurve的参数化是各被引用的有界曲线参数范围的累加,第一段的参数从0到£。。对于i>2,第i段的参数:寻由从厶^到厶“{=1k=1其中,^是第k段曲线参数的长度(即最大与最小参数值间的差)。令T代表复合曲线的参数。当第i段不是一个reparametrised—composite—curve—segment时,则T与第i段的参数t:相关Ⅷt≤t;≤43 GB/T16656.42—2010/ISO10303—42:2003t㈦对第i段曲线,如果segmentsD].samesense=TRUE,则用方程:T一∑z。+£:~f。如果segmentsEl].same—sense--FALSE,则用方程:T一∑“+£.。一£。当第i段是一个reparametrised_composite_curve—segment时,则:T一∑z;+。其中r在4.4.43中定义。EXPRESS描述:*、ENTITYcompositecurveSUBTYPEOF(bonded_curve)5segments:LIST[1:?]oFcomposite_curve_segment{self-intersect:LOGICAL;|DERIVEn_segments:INTEGER:=SIZEOF(segments);closed_curve:LOGICAL:=segments[n_segments3transition<>discontinuous;WⅧmWRI:((咖closed_curve)AND(SIEEOF(QUERY(temp<*segmentstemptransition=discontinuous))=1))ON((closed_curve)AND(SIZEOF(QUERY(temp(}segmentstemptransition=discontinuous))=0));F—ND_KNTITY}f*属性定义:n_segments:复合曲线的曲线段的个数。segments:由复合曲线的有界曲线、曲线间的过渡与方向构成。最后一段的过渡属性定义为最后一段终点与第一段始点间的过渡;如果这个过渡属性取值为discontinuous,则它是一个开曲线(见4.3.8)。self—intersect:指明曲线是否自相交。这仅为信息。dim:composite—curve的坐标空间的维数。这是来自几何表示项超类型的继承属性。closed—curve:指明曲线是否是封闭的。这可从最后一段的过渡代码导出。注:属性的进一步信息见图11。裢籼、44图11复合曲线 GB/T16656.42—2们O/ISO10303—42:2003形式限制:WRl:除开曲线最后的代码外,过渡码都应该是连续的。非形式限制:IPl:每一段same—sence属性正确的指出这一曲线段的方向。当按same—sence属性指示的方向通过时,各线段应是端点相连的。4.4.42compositecurve_segmentcomposite_curve—segment是一个有界曲线,它拥有用于构造composite_curve的过渡信息。EXPRESS描述:*)ENTITYcomposite_curvesegmentSUBTYPEOF(founded_item);transition:transltion_code;same_sense:BOOLEAN;patent_curve:curve;INVERSEusing_curves:BAG[1:?]OFcomposite_curveFORsegments;硼挹REWRI:(’GEOMETRY_SCHEMABOUNDED_CURVE’INTYPEOF(parent_curve)):END_ENTITY;(*属性定义:transition:复合曲线过渡的状态(即从该段的最后一点到下一段第一个点的几何连续性)。same_sense:线段方向与parent_curve的方向是否相同的指示标志,如果same_sense为FALSE,则具有最大参数值的点作为曲线段的第一个点。parent—curve:定义该曲线段几何的有界曲线。using—curves:使用该composite—curve—segment作为composite—curve的集合。该集合不应为空集。注:由于composite—curve—segment并非geometric—representation~item的子类型,所以作为parent—curve的bounded_curve实例并非与的geometric_representation—context的表示相关,其中representation使用一个包含compositecurve_segment的composite_curve。因此必须确保bounded—CUrVe实例包含在具有恰当geometric—representation_context的representation中。形式限制:WRl:parent—curve应是一个bounded_curve。4.4.43reparametrised_compositecurveJegmentreparametrised—composite_curve—segment是composite—curve—segment的一个特殊的类型,它可以重新定义其参数长度而不改变其几何。设£一param—length。当parent—curve的参数范围为t。≤£≤t1时,如果same—sense--TRUE,reparametrised_compositecurve—segment的新参数r由下述方程:r一羔2给出,如果same—sense—FALSE,则r由方程:r一生兰z给出。t1一tn’’。EXPRESS描述:*、ENTITYreparametrised_composire_curve_segmentSUBTYPEOF(Composite_curee_segment);paramlength:parameter—value;4‘ GB/T16656.42—20lO/ISO10303-42:2003WHEI也WRl:研zram_length>00;ENDENTITY;f*属性定义:param—length:曲线段的新参数长度。该曲线段给出了一个简单的线性再参数化方式,从第1点的0.0到在最后一点的param—length。使用该复合曲线的参数化由使用param—length定义的曲线段构成。形式限制:WRI:param—length应大于零。4.4.44pcurvepcurve是利用在一个曲面参数空间中的2D曲线定义的3D曲线。如果该曲线利用函数(“,u)一,(£)进行参数化,而其曲面利用函数(z,Y,2)一g(“,口)进行参数化,则peurve由函数(z,Y,g)一g(,(£))实现参数化。pcurve的定义包含对basis—surface的引用,并通过definitional—representation实体间接地引用一条2D曲线。因为这个在参数空间中的2D曲线不在基曲面的相关环境之中,因此,不能直接引用。该2D曲线所包含的变量是“和口(在basis—surface的参数表示中也出现),而不是以z,∥形式出现的笛卡尔坐标。该曲线仅在该曲面的参数范围内定义。EXPRESS描述:*)ENTITYpcurveSUBTYPEOF(curve);basis—surface:surface;reference_to_curve:definitional—represemtation;WHEREWRI:SIZEOF(reference—to_curve\representationitems)=1;WR2:‘GEOMETRY_SCHEMA.CURVE’INTYPEOF(referencetocurve\represeafltationitems[1]);WR3:reference_tOcurve\representationitems[1]\geometric_representationitemdim=2;F/gD_F/{TITY;f*属性定义:basis—surface:定义曲线的参数空间所在的基曲面。reference_to~curve:定义pcurve曲线引用的参数空间曲线。形式限制;WRl:对应于reference—tocurve的definitional—representation实体中的项集合应仅有一个元素。WR2:在该集合中的唯一项应是一个曲线。WR3:该参数空间曲线的维数应为2。4.4.45boundedpcurvebounded—pcurve是pcurve的特殊类型,它也具有bounded—curve的性质。EXPRESS描述:*、ERTITYbounded_pcurveSUBTYPEOF(pcurve,bounded_curve);WHEREWRl:(’GEOMETRY—sc}Ⅱ1皿BOUNDED_.OdRVE’INTYPEOF(SELF\pcurvereference_to_c1=u-ceitems[1]));ElnENTITY;r*46 GB/T16656.42—2010/iso10303-42:2003形式限制:WRl:pcurve超类型所引用的曲线应属于bounded—curve类型。这保证了bounded-pcurve是有限的弧长。4.4.46surface_curvesurface—curve是在曲面上的曲线。该曲线表示为三维空间中的一条曲线(curve一3d),且在曲面的二维参数空间中可能作为对应于pcurve的曲线。通过引用一个或两个pcurve—or—surface,这个实体能够定义单个曲面上的曲线,也能够定义两个不同曲面连接的交线;在一个封闭曲面上的“接合”线也能够用该实体表示;在这种情况下,每个associated—geometry都将是一条位于同一个曲面上的pcurve。每条pcurve(如果存在的话)的参数化都应与curve一3d同向。surface—curve利用由主表示属性所表示的curve一3d或pcurve直接进行参数化。注:因为与bounded—surface_curve子类型的ANDOR关系,surface_curve的实例可以是下述曲线的任何一种:——surface—curvol一一boundedsurface_curve;——intersection—curve;——intersectioncurveANDboundedsurfacecurve;——seam_curve:——seameurveANDbounded-surface_curve。EXPRESS描述:*、ENTITYsurfacecurveSUPERTYPEOF(ONEOF(intersection_curve,seam_curve)ANDORboundedsurfacecurve)SUBTYPEOF(curve);curve3dassociated_geometrymaster_representationDERIVEbasissurfaceCIL!可e‘;LIST[I:2j0Fpcurveofsurface;preferredsurface_curverepresentationSET[i:2]OFsurface=getbasissurface(SELF)WHKHEWRI:curve_3ddim。3;WR2:(’GEOMETRY_SCHEMAPCURVE’INTYPEOF(associated_geometry[1]))OR(masterrepresentation()pcurve—s1);WR3:(’GEOMETRY_SCHEMAPCURVE’INTYPEOF(associatedgeometry[2]))0R(masterrepresentation<)pcurve_s2):WR4:NOT(’GEOMETRY_SCHEMAPCURVE’INTYPEOF(curve一3d));END_ER"TITY;f*属性定义:curve一3d:3D表示的surface—curve。associated—geometry:相联几何表,即一个或两个pcurve或曲面的表,它定义该曲面或定义与该曲面曲线相关联的曲面。该表中的两个元素指明这条曲线必须与两个曲面相联,但它们不一定是不同的曲面。当一条pcurve被选择时,它标识一个曲面以及该曲面参数空间中一条相关的基曲线。master—representation:主表示,即指明“较优的”表示。master—representation定义用于确定surface—curve的唯一参数化的曲线。master—representation取curve_3D或pcurve—sl或pcurve—s2中的一个,以指明在相联几何表中curve3d,或pcurve_sl或peurve_s2的优先级。多种表示法能够以多种形式进行数据通信,但应用中47 GB/T16656.42—2010nso10303-42:2003希望这些数据在几何上是相同的。注:masterrepresentation属性不可能保证多种形式在表示上是相等的并且指出较优的形式,这或许要数据的建立者来确定。对于一个具有多种表示形式的实体来说,全部特征,诸如参数化方法、域,以及计值结果等,都可以从主表示形式导出。在实际应用中,利用其他任何表示形式都是一种折中考虑。basis—surface:基曲面,即surface—curve位于其上的一个或几个曲面。它由associated—geometry表确定。形式限制:WRl:eurve_3d应在3维空间中定义。WR2:仅当相联几何表的第1个元素是参数域曲线时,pcurvesl才被指定为master_representation。WR3:仅当相联几何表的第2个元素是参数域曲线时,pcurve—s2才被指定为master—representation。当相联几何表中仅含有一个元素时,pcurve_s2不应被指定为master_representation。WR4:curve一3d不应是一条peurve。非形式限制:IPl;在curve一3d和一个或多个pcurve存在的地方,它们应表示成同一个数学点集(即它们在参数化可能不同,但在几何上应当重合)。IP2:curve_3d应当与任何相关的pcurve的方向一致。4.4.47intersection_curveintersection_curve是两个曲面相交所产生的曲线。它是surface—curve的一个特殊子类型,且是由相联几何表定义的两个不同曲面连接成的。EXPRESS描述:*)ENTITYintersection_curveSUBTYPEOF(surface_curve)iWHEREWill:STZEOF(SELF\surface_curveassociated_geometry)=2;WH2:associatedsurface(SELF\surface_curve.associated_geometry[13)<>associated_surface(SELF\surface_curveassociated_geometry[2]);END_ENTITY;(*形式限制:WRl;交线应具有两个相联几何元素。WR2:这两个相联几何元素应与不同的曲面相关,它们是定义交线的曲面。4.4.48seam_curveseam—curve是封闭参数曲面上的曲线,在该曲面参数范围的两端,seam—curve作为常数参数曲线有两种不同的表示法。示例l:在参数空间内,圆柱面上的“seam”可表示为“一0。的直线或“一360。的直线。EXPRESS描述:*、ENTITYseam_curveSUBTYPEOF(surface_curve):WHEREWRI:SIZEOF(SELF\surface_curveassociated_geometry)=2;WR2:associated_surface(SELF\surfacecurveassociated_geometry[1])=associated_surface(SELF\surfacecurveassociated_geometry[23);WR3·‘GEOMETRY_SCHEMAPCURVE’INTYPEOF(SELF\surfacecurveassociated_geometry[13);WR4:‘GEOMETRYSCHWAPCURVE’INTYPEOF(SELF\surface_curveassociated_geometry[2]);48 GB/T16656.42—2010/Iso10303-42:2003END_ENTITY;f*形式限制:WRl:seam—curve应具有两个相联的associated..geometry。WR2:两个associate,i_geometry应与同一个曲面相关。WR3:第一个associated__geometry应当是一条pcurve。WR4:第二个associate(L.geometry应当是一条pcurve。4.4.49bounded_surface_curveboundecd_surface_curve是surface_curve的一种特殊类型,它也具有boundeIi_curve的特性。EXPRESS描述:*)EhlriTYbounded_surfacecurveSI瑁TYPEOF(surface_curve.bounded_curve);Wn%WRl:(’GEOMETRY_SCHEMABOUNDED_CURVE’INTYPEDF:SELF\surface_curvecurve_3d))lEND_ENTITY;f*形式限制:WRl:surface_curve超类型的curve_3d属性应是一条bounded—curve。4.4.50compesite_curve_on__surfaeecompesite_curve_on_sudace是一个曲面上的曲线段的集合,其每一段都应位于该基曲面上,且可以是:——一条bounde·d_.surface_curve,或——一条bounded-,pcurve,或——一条compesite_curve_on_surface。注:因为eompesite.一curve_on_surface是有界曲线子类型,compesite—curve—on—surface可能作为一个compesite—curve一.segment的parent—curve属性。在相邻接的曲线段应具有连续性。复合曲线的参数化由各段参数范围的累加得到。第1段的参数r1J化是从0到z,,当i≥2时,第i段的参数化是从∑z。到∑zt,其中,厶是第k条曲线段的参数长度(即h--1^=1最大和最小参数值之差)。EXPRESs描述:*)ENTITYcomposite_curve_on_surfaceSUPERTYPEOF(boundary_curve)SUBTYPEOF(composltecurve);,DERIⅦbasissurface:sⅪ[o:23OFsurface:=get一.basis_surface(SELF);Ⅷ皿REWRl:SIZEOF(basis—surface)>0;WR2:constraints—composite_curve_on_surface(SELF);END_ENTITY;f*属性定义:basis—surface:基曲面,基曲面上定义了复合曲线。SELF\composite—curve.n_segments:复合曲线的曲线段个数。SELF\composite.一curve.segments:曲线段,它们构成了复合曲线的有界曲线段、曲线段间过渡和49 GB/T16656.42—2010/iso10303-42:2003方向。最后一段的过渡定义为最后一段的终点到第一段的始点,如果它取discontinuous,则指明这是一条开曲线。(见4.3.8)。每一曲线段的parent—curve都应是bounded—pcurve或bounded—surface—curve或composite—curve_on—surface类型之一。SEI。F\composite—curve.selLintersect:指明曲线是否自相交的标志。SEI。F\composite_eurve.dim:复合曲线坐标空间的维数。SELF\composite_curve.closed—curve:指明曲线是否为封闭的。形式限制:WRl:basis—surface集至少应包含一个曲面,这保证全部曲线段都引用同一个曲面上的曲线。WR2:每一曲线段类型都应是pcurve,或surface—curve,或composite—curve—on_surface。非形式限制:IPl:一条composite_curve—on_surface段引用的每个parent—curve都应是曲面上的曲线且应是有界曲线。4.4.51offset_eurve_2doffset_curve一2d是一条在2维空间中与基曲线的距离保持不变的曲线。该实体定义了一个简单的平面偏置曲线,它是通过在basis—curate的平面内沿basis—curve的法向偏置一段距离得到的。基曲线上的每一点的切线方向都应有明确的定义;对于复合曲线,每一段间的过渡代码都应是cont—same_gradient或是cont—same_gradient—same_curvature。注;offset—curve_Zd在性质上可能与basis_curve不同}一个非自相交曲线的偏置曲线可能是自相交的。应当注意,连续曲线的偏置曲线应保证其不变成不连续的。offset—curve_2d的参数化取自于它的基曲线,offset_curve一2d的参数化形式为:A(“)一C(“)+d(orthogonal—complement(£))式中,t是基曲线C(“)在参数值“处的单位切向量,d是距离,基曲线应当是2维的。EXPRESS描述:*、ENTITYoffset_curve_2dSUBTYPEOF(curve);basis—curve:ckLzve;distance:k时h_measure)self-intersect:LOGICAL;WⅢ1皿WRI:basis—curvedlm。2;.FAID_EgTITY;f*属性定义:basis—curve:基曲线,要偏置的曲线。Distance:偏置曲线与基曲线的距离。这个distance可以是正的、负的或零。distance为正值定义了这样一条偏置曲线,在方向上,它是曲线的法向,即在给定点将曲线的切向量逆时针旋转90度的方向(即是orthogonal—complement(T)的方向)。selLintersect:指明偏置曲线是否自相交。这仅作为信息。形式限制:WRl:基曲线应定义在2维空间中。4.4.52offset_curve_3doffset—curve一3d是一条在3维空间中与基曲线的距离保持不变的曲线。基曲线上的每一点的切线方向都应有明确的定义,在复合曲线的情况下,每一个曲线段间的过渡代码都应是cont—same—gradient或是cont_same—gradient—samecurvature。50 GB/T16656.42—2010nso10303-4212003基曲线上任意点(或参数)的偏置曲线都以<口×f)为方向,其中”是固定的参考方向,而t是基曲线的单位切向量。对明确定义的偏置方向来说,在曲线上任意点处,t的方向都不应与。的方向相同或相反。注:offset_curve_3d在性质上可能与基曲线不同;一个非自相交曲线的偏置曲线可能是自相交的。应当注意,连续曲线的偏置曲线应保证其不变成不连续的。offsetcurve一3d的参数化取自其基曲线,offset_curve_3d的参数化形式为:^(“)一C(“)+d(u×£)式中,t是基曲线C(“)的在参数值“处的单位切向量,而d是距离。EXPRESS描述:*、ENTITYoffsetcurve_3dSUBTYPEOF(curve);hasis—curve:curve;distance:length-measure;self—intersect:LOGICAL;ref—direction:direction;WⅫmWRI:(basis—curvedim=3)AND(ref-directiondims=3);END_KNTITY;f*属性定义:basis—curve:基曲线,要偏置的曲线。distance:偏置曲线与基曲线的距离,这个距离可以是正的、负的或零。selLintersect:指示偏置曲线是否自相交。仅用作信息。re[一direction:参考方向,用于定义基曲线的offset_curve一3d的方向。形式限制:WRl:基曲线与参考方向两者都应在3维空间中。非形式限制:IPl:在该曲线上任何点的切向量的方向都不与reLdirection平行或相反的。4.4.53curve_replicacurve_replica是一条曲线在不同位置的复制。这是通过引用它的父曲线及一个变换来实现的。所生成的曲线的几何形状与父曲线相同,但由于这里包括比例缩放变换,其大小会不同于父曲线。curve_replica的参数范围和参数化与父曲线相同。父曲线是位于曲面上的曲线,curve—replica通常没有位于该曲面上所享的特性。EXPRESS描述:*、ENTITYcurve_replicaSUBTYPEOF(curve);paredt-curve:curve;transformation:cartesiantransformation_operator;WHEREWRI:transformationdim=parent—curvedim;WR2:acyclic—curve_replima(SELF,parent—curve);f*属性定义:parent—curve:父曲线,要复制的曲线。transformation:笛卡尔变换运算符,定义复制曲线的位置,这个变换可能包括比例缩放变换。形式限制:WRl:transformation属性的坐标空间维数应与parent—curve的相同。51 GB/T16656.42—2010/IS010303-42:2003WR2:curve_replica不应参与它自身的定义。4.4.54surface定义见3.2.45。一个surface可以想像成3维空间中的一个连通的点集,它总是局部2维连通的,但不必是一个流形。曲面(surface)不应是一个单点、也不应是部分或完整的~条曲线。每个曲面有一个参数表示形式:a(u,"),其中“和”是独立参数。曲面上任意点的单位法向量N由下列方程给出:№,”,一院×笔]EXPRESS描述:*、F3crITYsurfaceSUPERTYPEOF(ONEOF(elementary_surface,sweptsurface,bounded_surface,offset_surface,surface_replica))SLmTYPEOF(geometric_representation_item)iEND_ENTITY;(*非形式限制IPl:surface的面积不应为零。IP2:surface是弧式连通的。4.4.55elementary_surfaceelementary—surface是一个简单的解析曲面,其带有确定的参数表示形式。EXPRESS描述:*)KNTITYelementarysurfaceSUPERTYPEOF(ONEOF(plane,cylindrical—surface,conical—surface,spherical—surface,toroidal—surface))SUBTYPEOF(surface);position:axis2一placement_3d;END_ENTITY;(*属性定义:position:曲面的位置和方向。这个属性适用于曲面的参数化定义。4.4.56planeplane是一个具有不变法向的无界曲面。一个plane是由该plane上的~个点和法方向定义的,其数据说明如下:C—position.10cationz—position.P[1]y—position.P[23z—position.P[3](plane的法线)且平面的参数化表示为:口(U,")一C+Xu+yv式中,参数化范围为一。。<“,。<+。。,在上述参数化表示中,单位向量z和y的长度单位从平面的相关环境中导出。EXPRESS描述:*、ENTITYplane52 GB/T16656.42—2010/ISO10303-42:2003SVB"11*PEOF(elementarysurface);END_ENTITY;(*属性定义:SELF\elementary_surface.position:曲面的位置和方向。这个属性是从elementary—surface超类型继承而来的。position.10cation:plane内的一个点。position.P[33:该方向与position.axis的方向相同,它定义该平面法线的方向。4.4.57cylindrical_surfacecylindrical—surface是到一直线的距离保持不变(半径)的曲面。cylindrical—surface是由它的半径、方向和位置定义的。其数据说明如下:C—position.10cationX--position.PEI]y—position.P[23Z--position.PE33R一半径且该曲面的参数化表示为:口(U,口)一C+R((cosu)工+(sinu)y)+"OZ,式中,参数化范围为o≤“≤360。,一co=00;ENDENTITY:f*图16角双四次螺旋面属性定义:SELF\elementary—sur{aceposition:定义一个局部坐标系,双四次螺旋曲面相对该坐标系的两个平面呈对称轴。generallsed_rnajor—radius:主大半径lain次螺旋曲面位于准线平面的横截面的两个圆的中径。generalised—minor—radius:主小半径,最大和最小母线圆的l=|_|径。skewness:偏斜.对称面内两个横截圆中径之差的一半。当skewness为0时曲面为一圆环面;否则,其值决定了曲面的不对称度。形式限制:WRl:skewness非负。 GB/T1665642—201O/ISO10303—42:2003图17纺锤双四次螺旋面4.463swept_surfacesweptsurface是一条曲线沿着另一条曲线扫捕形成的曲面。EXI’RESS描述:*)£NTI甜swept—s怔f∞eSUPERTYPE0F(ONE0“surfaceof11一r目t⋯ionsurfaceofrevolution.⋯face_c—sweptsurface.fixedreferenceswept—surface))SUBTYPEOF(surface);swept⋯一e‘ENDENTITY;f*属性定义:sweptcurve:扫描曲线,形成扫描曲面时所要扫描的曲线。如果扫描曲线是一条pcurve,则扫描曲面就是该曲线在3维几何空间中扫成的图像.而不是参数空间曲线图像。464surface_oLlinearextrusion该曲面或是一种简单的扫描曲面,或是一个在给定方向上扫描一条曲线所得的广义柱面t其参数化表示如下,其中曲线的参数化形式为^(“):V—extrusion—axisd(“,Ⅻ)=^(“)+vV”的参数化范围为o。<”<+∞,i阿“由曲线的参数化确定。EXPRESS描述:“)ENTITYsurfaceof11near_旺tr_1sionSUBTYPEoF(SWeptsurface).m~10n-一:v∞tor;KND_ENTITY;属性定义:extrusion—axis:延拓轴.即延拓的方向。该向量的量值定m参数化。SELF\swept—suyfaceswept—cDrve:要被扫描的曲线。非形式限制:IPI:该曲面不应是白相交的。465satface_oLrevolutionsurface—offrevolution是由一条曲线绕一轴旋转一周所得到的曲面。其数据说明如下:下面是其参数化表示.其巾曲线的参数化表示为^(。):(一positioniotaliouV=posilionz“1 GB/T16656.42—2010nso10303—42:2003d(“,u)一C+(^(“)一C)COSU+((^(u)一C)·V)V(1一cosu)+V×(^(u)一C)sinu为了旋转一周生成一个单值曲面,该曲线应当是这样的:在以c为中心、V为轴的柱面的坐标系(r,≠,z)中,该曲线上不同参数点的(r,z)值不相同。注1:在这个相关环境下,单值曲面的参数范围的参数空间中的矩形内部到由该曲面方程定义的几何空间的映像是相对应的。对于旋转曲面,参数范围为o。≤“≤360。,“是一个角度参数,其参数值由当前角度单位plane—angle_mea—sure决定。”的参数范围由参考曲线定义。注2:曲面的几何形状不依赖于曲线参数化。EXPRESS描述:*、ENTITYsurface_of—revolutionSUBTYPEOF(swept—surface);axis—position:axisl—placement;BERIVEaxis—line:line:=representation_item(7)Igeometric~re[resentation_item()1curve()lline(axispositionlocation,representatiomitem()lgeometricrepresentation_item()lvector(axispositionZ,1O));END_ENTITY;(*属性定义:axis—postion:旋转轴上的一个点和旋转轴的方向。SELF\swept—surface.swept—curve:绕轴线旋转的曲线。axis—line:轴线,与旋转轴重合的直线。非形式限制:IPl:该曲面不应自相交。IP2:swept—curve的任何有限长度部分不应与axis_line重合。4.4.66surfacecurvesweptsurfacesurface—curve—swept—surface是一种swept—surface,它可通过沿着reference—surface上的directrix曲线扫描一条曲线产生。扫描过程中swept—eurve的方向与reference~surface的法线相关。swept_curve必须位于z—o面内,且必须这样扫描:其用于确定扫描directrix的局部坐标系的原点在directrix上,且x轴垂直于参考曲面。所求曲面有这样的性质:任一点处的正横截面都是swept—curve的复制。swept_curve的方向在沿准线扫描时,由cartesian—transformation—operator一3d精确定义:——local—origin为点(0,0,0)——aXisl作为以“为参数的directrix上的点的参考曲面法线N。——axis3作为以a为参数的directrix上的点的参考曲面切向量。定义转换矩阵丁(“)时剩余属性是可省略的。注1:在特殊情况下,directrix是平面曲线,reference_surface是directrix平面,法线N为常量。参数方程如下:/Ku)表示directrix,A(口)表示swept—curve。口(“)一PointondirectrixT(“)一Transformationmatrixatparameter“口(“,")一口(“)+丁(u)A(口)为产生连续曲面,directrix的切相量必须连续。62 GB/T16656.42—2010/ISO10303—42:2003对surface_curve_swept—surface,参数U取决于directrix。参数口的范围取决于swept—curve。注2:曲面几何外形与曲线参数化无关。EXPRESS描述:*)ENTITYsurface—curveswer’t—surfaceSUBTYPEOF(、sweptsurface);directrix:curve;reference—surface:surface;WⅡREWRl:(NOT(‘GEOMETRY_SCHEMASURFACE_CURVE’INTYPEOF(directrix)))OR(referencesurfaceIN(directrix\surface_curvebasis—surface));ENDENTITY;(*届性定义:directrix:准线,定义扫描操作的曲线,曲面通过沿directrix扫描SELF\swept—surface.swept—curve生成。reference_surface:参考曲面,包含direetrix的曲面。形式限制:WRl:如果directrix是swept—curve,则reference_surface应属于basis—surface集。非形式限制:IPl:swept—curv必须位于平面z一0内。IP2:directrix必须位于reference_surface内。注3:reference—surface在directrix上的当前点的法线是N。4.4.67fixed_reference_swept_surfacefixed—referenee—swept—surface是swept—curve的一种。它是沿directrix扫描一个曲线而成的,扫描过程中,曲线方向取决于fixed-reference的方向。swept_curve必须位于平面g一0内,在扫描过程中:定义swept—curve的局部坐标系统的原点在directrix上,其x轴与此点的fixed—reference在准线法平面上的投影方向相同。所求曲面性质:曲面与准线法平面的相交区域是对swept—curve的复制。在沿准线扫描时,swept—curve的方向由cartesian_transformation—operator一3d精确定义并有下列性质:local—origin为(O,0,0),axisl作为fixed—reference,axis3directrix上以u为参数的点的切向量t。定义转换矩阵T(“)时剩余属性是可省略的。参数方程如下:其中卢(“)表示directrix,A(u)表示swept—curve:口(“)=pointondirextrixT(“)一TransformationmatrixatparameterUd(1,4,o)=Ⅳ(U)+T(u)a(口),为产生连续曲面,direetrix的切线必须连续。对于fixed_reference_swept—surface,参数“的范围取决于directrix。参数u的范围取决于swept—curve。注1:曲面外形与曲线参数无关。注2:性质详见图18。EXPRESS描述:63 GB/T16656.42—2010/LSO10303-42:2003*)ENTITYfixed-referenceswept-surfaceSUBTYPEOF(swept—surface);directrix:curve;fixed_reference:direction;END_ENTITY;(*图18固定的参考扫描曲面属性定义:directrix:准线,进行扫描操作的曲线,曲面通过沿directrix扫描SELF\swept—surface.swept—curve生成。fixed_reference:默认参考,当沿directrix扫描时用来定义SELF\swept—surface.swept—curve的方向。非形式限制:IPl:swept—curve必须位于平面z=O内。IP2:fixed_reference不与directrix上任一点的切线平行。4.4.68bounded_surfaeeboundedsurface是一个具有可标识边界的、有限面积的曲面。EXPRESS描述:*)ENTITYbounded_surfaceSUPERTYPEOF(ONEOF(b-spline_surface,rectangular_trimmedsurface,curve_bounded_surface,rectangular_compositesurface))SUBTYPEOF(surface);END_ENTITY;(*非形式限制:IPl:bounded—surface具有有限但非零的面积。64 GB/T16656.42—2010/ISO10303-42:2003IP2:bounded—surface具有边界曲线。4.4.69b_spline_surfaceb_spline_sur[aee是有理或多项式参数曲面的一般形式,它通过控制点、基本函数及权因子(在某些情况下)来表示。正如相应的曲线实体一样,它有几种特殊的子类型,并可从中导出某些数据。注1:B样条曲面的缺省值和子类型标识对于性能的考虑和计算的有效性问题是重要的。注2:当且仅当其权因子不全相等时,B样条是有理的。当其为多项式时,由于权因子全部缺省为1。注3:在B样条曲面是均匀的、准均匀的或者是分段Bezier的情况下,节点和节点重数可能是缺省的(即由属性定义规定的数据可以不出现)。当节点缺省时,节点间的差假设为1.0,且所产生的曲面的有效参数范围从0.0开始。这些缺省由子类型提供。注4:在非均匀的情况下,节点和节点重数不可以缺省。注5:权因子与节点的缺省彼此无关。其数据说明如下:a)这里使用的符号有:k1一upper—index._on_u—controLpointsk2一upper_index_onvcontrol—pontsP。=controLpointsWu—weightsd1一u—degreed2一v—degreeb)控制点的排序为:Poo,P01,Poz⋯⋯,P11(k2--1),P^,^,在有理子类型的情况下,权因子同样排序。c)对于每个参数,s一“或口,如果k是控制点的上标且d是s的代数阶,则节点数组是一个(^+d+2)个的[s。,⋯⋯,s。]实数数组,对于在[一d,女]中的所有角标J,都有s,≤s⋯。这个数组是根据重数去重复每个多重节点的适当u—knots或v—knots的节点数据表得到的。第i个d阶规范化B样条基本函数N;定义在这个数组的子集[s。,⋯⋯,s。]上。d)设L表示在节点表中具有不同值的节点数,L称为节点的“上标”。设m,表示第j个不同值节点的重数(即重复次数),则:L∑m,一d+k+2i=1除第一个和最后一个节点,所有节点的重数都应在1,⋯⋯,d的范围内;第一个和最后一个节点可能有最大重数d+1。在基本函数的计值中,例如,节点“的重数为3,可解释为在节点数组中的串“,",“。e)surface—form通常用于标识特定的二次曲面类型(其阶数为2)、直纹面和旋转曲面。与b—spline—curve一样,surface—form仅为信息,而样条数据优先。f)该曲面的说明如下:在多项式的情况下,该曲面由下述方程给出:t1k2d(“,u)一∑∑PiN}(“)N;z(”)I=0,=0在有理的情况下,该曲面的方程为:女】女2∑∑W。P。Nd】(“)Njz(u)a(u,口)一2}号-——————一∑∑W。N々(“)N?z(”)i--0j--o65 GB/T16656.42—2010nso10303-42:2003注6:B样条基本函数的定义N即(“)和Nj。(”)可在[D二1,D_2,Du]中找到。应注意,在这些参考资料中使用的术语可能不同。EXPRESS描述:*)ENTITYb_splinesurfaceSUPERTYPEOF(ONEOF(b_splinesurface_wlthknots,uniform_surface,‘rLlasiunlform_surface,heziersurface)ANDORrational—bsplinesurface)SUBTYPEOF(、bounded_surface);u_degree:INTEGER;vdegree:INTEG船;control—points—list:LIST[27]OFLIST[27]OFcartesianpoint;surface—form:bspline_surface_form;u_closed:LOGICAL;v_closed:LOGICAL;self_intersect:LOGICAL;DERIVEu_upper:INTEGER:=SIZEOF(control—pointslist)一1;v_upper:INTEGER:=SiZEOF(control—point8List[i])一l;control—points:ARRAY[o:uupper]OFARRAY[o:vuppor]OFcarteslan_point:=make—array_of—array(control—points—list0,u_upper,0,v_upper);WHE髓WRI:(’GEOMETRYSCHEMAUNIFORM_SURFACE’INTYPEOF(SELF))衄rGEOMETRYSCHEMAQUASI—UNIFORM_SURFACE’INTYPEOF(SELF))OR(’GEOMETRYSCHEMABEZIER_SURFACE’INTYPEOF(SELF))OR("GEOMETRYSCHEMAB_SPLINE_SURFACE_WITHKNOTS’INTYPEOF(SELF));END_ENTITY;【*属性定义:u—degree:关于“的基本函数的代数阶。v—degree:关于u的基本函数的代数阶。control—points—list:这是一个控制点表的表。surface—form:特殊曲面类型的指示标志(见4.3.4)。u—closed:指示该曲面在“方向是否封闭的,这仅作为信息。Vclosed:指示该曲面在u方向是否封闭的,这仅作为信息。self_intersect:曲面是否自相交的标志,这仅作为信息。u—upper:在“方向上控制点的上标。v—upper:在"方向上控制点的上标。control—poinrts:定义曲面几何的控制点的(二维)数组。这个数组由控制点表构成的。形式限制:WRl:这个实体的实例应包括b—spline~surface—with—knots、uniform—surface、quasi—uniform~surface或bezier_surface子类型之一。4.4.70b_spline_surface_with_knots这是一个B样条曲面,其节点值已显式地给出。这个子类型适用于表示非均匀有理B样条曲面,也可以用于其他节点类型。除第一个或最后一个节点外,所有节点的重数都应在1,⋯⋯,d的范围内;第一个和最后一个节点的重数可能有最大值d+1。66 GB/T16656.42—2010/[SO10303—42:2003在基本函数的计值中,例如,节点U的重数为3,可解释为在节点数组中的串“,“,“。EXPRESS描述:*)ENTITYbspline_surface_withknotsSUBTYPEOF(bspline_surface)}u_multiplicites:LIST[27]OFINTEGER;vmultiplicites:LIST[2:?]OFINTEGER;uknots:LIST[27]OFparameter—value;V—knots:LISTL27]OFparameter_value;knoLspec:knoLtype;DERIVE肌oc_u—upperknot—v_upperINTEGER:=SIZEOF(u_knots)INTEGER:=SIZEOF(v_knots)WRI:constraints—peraIn_bspline(SELF\b_spline_surfaceu_degree,knot—u_upper,SELF\b-spline—surfaceu_upper,u_multipllclties,u_knots);WR2:constraints—parambspline(SELF\b_spline_surfacevdegree,knot_vupper,SELF\b-spline_surfacevupper,v_multiplicities,v_knots);WR3:SIZEOF(u_multiplicities)=knot_u_upper;wR4:SIZEOF(v_multiplicities)=knot_v_upper;END_ENTITY;(*属性定义:u—mulitplicities:在“参数方向的节点重数。v—mulitplicities:在口参数方向的节点重数。u—knots:在/.4参数方向的不同节点的表。v_knots:在V参数方向的不同节点的表。knot—spec:节点类型的描述。knot—u_upper:在“参数方向的不同节点个数。knot—v_upper:在口参数方向的不同节点个数。SELF\b—spline—surface一一degree:对于“的基本函数的阶。SELF\b—spline—surface一一degree:对于口的基本函数的阶。SELF\b—spline—surface.control—points—list:这是诸控制点表的表。SEI,F\b-spline_surface.surface—form:特殊曲面类型指示器(见4.3.4)。SELF\b—spline_surface.u—closed:指示在U方向曲面是否封闭,这仅作为信息。SEI。Fkb—spline_surface.v—closed:指示在口方向曲面是否封闭,这仅作为信息。SELF\b—spline_surface.selLintersect:该曲面是否自相交的标志,这仅作为信息。SELF\b—spline_surface.u—upper:“方向控制点的上标。SELF\b—spline—surface一一upper:u方向控制点的上标。SELF\b—spline—surface.control—points:定义曲面几何的控制点的(二维)数组。这个数组由控制点表构成。形式限制:WRl:当参数约束在“方向被验证时,constraints—param—b-spline返回TRUE。WR2:当参数约束在口方向被验证时,constraints—param_b—spline返回TRUE。WR3:u—mulitplicities应与u—knots个数相同。WR4:v—mulitplicities应与v—knots个数相同。67 GB/T16656.42--2010/ISO10303-42:20034.4.71unifotin_surface这是h—sphne—surface的一个特殊类型,其节点的间隔是均匀的。在这种情况下,能够导出适当的节点和节点重数的缺省值。当且仅当全部节点的重数皆为1且它们同前一节点之差为一正常数时,B样条为均匀的。在这个子类型中,节点间隔为1.0,并从一degree开始。EXPRESS描述:*)ENTITYuniform_surfaceSUBTYPEOF(bspllne_surface);Eh"D_E14TITY;f*注:对于该曲面如果需要显式节点值,则它们可从下式导出:ku_up=SEI。Fkb-spline_surface.u_upper+SELF\b—spline_surfaceu_degree+2,kv_up=SELF\b_spline_surface一一upper+SELFXb-spline_surfaeev_degree+2.ku—up是在“方向的节点上标和节点重数表所需要的值。这是由阶与在该方向上控制点个数计算出来的。kvup是在”方向的节点上标和节点重数表所需要的值。这是由阶与在该方向上控制点个数计算出来的。在“和-0参数方向上的节点重数和节点则通过下列函数的调用给出;default—b-spline_knot_muh(SELF\kspline—surface.u_degree,kuup,uniform—knots)defauh—b-spline_knots(SELF\b—sp|ine_sur{ace.u_degree,ku—up,uniformknots)default—b_spline_knot_muh(SELF\b_spline_surfaee.v_degree,kv—up,uniform—knots)defaultb-spline_knots(SELFkb—spline_surface.v_degree,kv—up,uniform_knots)4.4.72quasi_uniform_surface这是bspline_surface的一个特殊类型,其中,节点的间隔是均匀的,且除第一个和最后一个节点,其余节点的重数皆为1。在这种情况下,能够导出适当的节点和节点重数的缺省值。当且仅当在端点的节点重数为(阶+1),其余节点的重数为1,且它们同前一节点间之差为一正常数时,B样条是准均匀的。在这个子类型中,节点间隔为1.0,并从0.0开始。EXPRESS描述:*)ENTITYquasl—uniform_surfaceSUBTYPEOFq:b-spline_surface);ENDENTITY;f*注:如果对该曲而需要显式的节点值,它们可从下式导出:ku—up—SELF\b-spline_surface.u—upper_SELFkbspline_surfaee.u_degree+Z,kv_up=SELF\b—spline_surface.v_upper_SELF\bspline_surfaee.v_degree+2.,ku_up是在U方向的节点上标和节点重数表所需要的值。这是由阶与在该方向上控制点个数计算出来的。kv—up是在”方向的节点上标和节点重数表所需要的值。这是由阶与在该方向上控制点个数计算出来的。在U和v参数方向上的节点重数和节点则通过下列函数的调用给出:default_b_spline_knot_muh(SEI,F\b-splinesurface一一degree,ku—up,quasi_uniform—knots)default_b_spline_knots(SELF\b—spline_surfaee.u_degree,ku_up,quasi_uniform—knots)’default_b_spline_knot_muh(SELF\b_spline_surfaee.v_degree,kv_up,quasi—uniform—knots)default_b—spline_knots(SELF\kspline_surface一一degree,kv_up,quasi_uniform—knots)4.4.73beziersurfacebezier—surface是一种特殊类型的曲面,可表示为b—spline—surface类型,其节点间隔是均匀的,且具有较高的重数。在这种情况下,可导出适当的节点和节点重数的缺省值。在这个子类型中,节点间隔为1.0,并从0.0开始。EXPRESS描述:68 GB/T16656.42—2010/Do10303-42:2003*】ENTITYbezier_surfaceSUBTYPEOF(b_spline_surface);END_ENTITY;f*注:如果需要该曲面的显式节点值,它们可从下式导出:ku_up一器羟舞嚣蓑岩篡+,kuup=墨器涨嚣慧等装+·ku—up是在u方向的节点上标和节点重数表所需要的值。这是由阶和在该方向上控制点个数计算出来的。kv—up是在口方向的节点上标和节点重数表所需要的值。这是由阶和在该方向上控制点个数计算出来的。在“和。参数方向上的节点重数和节点则由下述函数的调用给出:default—b-spline—knot—muh(SELF\bsplinesurfaee.u_degree,ku—up,bezier_knots),default_b-spline—knots(SELF\kspline_surface.u—degree,ku—up,bezier_knots),default—b_spline_knot—muh(SELF\b_spline_surface.v_degree,kv_up,bezier_knots),default_b-spline_knots(SELF\Lspline_surface.v_degree,kv—up,bezier_knots)。4.4.74rational_b_spline_surfacerationalb-spline_surface是通过控制点、相联的权因子值和基本函数所描述的分段参数有理曲面。它可以用b_spline_surface的任何其他子类型去实例化,它定义的基本函数可提供显式或隐式的节点值。该曲面的解释如下:^I^z”∑∑”iPiN?·(“)^乎(口)a(u,口)一2}号-——————~∑∑w4N?·(“)Njz(”)i=0j--0注:在上面方程中使用的符号详见4.4.69。EXPRESS描述:*)ENITITYrational—b-spline_surfaceSUBTYPEOF(b-spline_surface);weights—data:LiSTL2:?JOFLIST[2:?]OFREAL;ⅡERIVEweights:ARRAY[o:u_upper]OFARRAY[0:v_upperJOFREAL:=make_array_of—array(weights—data,0,uupper,0,v_upper);WⅫmWRI:(SIZEOF(weights—data)=SIZEOF(SELF\b-spline_surfacecontrol—points_list))AND(SIZEOF(weights_data[1])=SIZEOF(SELF\b_spline_surface.control—points—list[1]));WR2:surface_weights—positive(SKLF);END_ENTITY;(*属性定义:weights_data:权因子数,在有理情况下是与控制点相联的权因子。weights:权因子,由weights—data构造权因子值的(二维)数组。形式限制:WRl:权因子的数组维数应与控制点个数相一致。WR2:与每个控制点相联的权因子值应大于零。69 GB/T16656.42—2010/iso10303—42.20034.4.75rectangular_trimmedsurfacerectangular—trimmed—surface是一个简单的bounded—surface,其中,边界是参数不变的直线:“l=ul,“z=u2m一”1,”。一v2。这些值全部都应在参考曲面的参数范围之内,这里假定这个参数范围是周期性的。注1:例如,对使用周期函数(如正弦和余弦函数)定义的参数形式的曲面,370。等于10。。rectangulartrimmed—surface直接继承了基曲面的参数表示,且参数范围从0到“2“1I和从0到砖一Ⅵ。从旧参数导出新参数使用了44.40中描述的算法。注2:如果该曲面在给定的参数方向上是封闭的,则“。或让的值可能需要按周期范围增加。ExPRESS描述:*)ENTITYrectangulartrimmedsurfaceSUBTYPEOF(boundedsurface);basis—surface:surface;ul:parametervalue;u2:parameter_value;vl:parameter_value;v2:parameter—value;usense:BOOLEAN;vsense:BOOLEAN;WⅡmwRl:ul()u2;WR2:vl<)v2:WR3:((’GEOMETRY_SCHEMAELEMENTARYSURFACE’工NTYPEOF(basis—surface))AND(N∞(’GEOMETRY-SCHEMAPLANE’INTYPEOF(basis—surface))))OR(‘GEOMETRY_SCHEME、SURFACEOF_REVOLUTION’工NTYPEOF(hasis—surface))oR(usense)=(u2>v1));WR4:((,GECOMETRYSCHEMASPHERICAL_SURFACE’INTYPEOF(basissurface))0R(’GEOMETRY-SCHEMATOROIDAL_SURFAGE’INTYPEOF(hasissurface)))OR(vsense)=(v2>v1);ENDENTITY;f*属性定义:basis—surface:被剪裁的曲面。ul:“参数的第1个值。u2:“参数的第2个值。vl:”参数的第1个值。v2:w参数的第2个值。usense:指示该剪裁曲面第一个参数的方向与基曲面“的方向一致还是相反的标志。vsense:指示该剪裁曲面第二个参数的方向与基曲面u的方向一致还是相反的标志。形式限制:WRl:ul与u2的值应不同。WR2:vl与v2的值应不同。WR3:除在“参数方向上封闭的曲面外,usense应与“相应的参数值相一致。WR4:除在口参数方向上封闭的曲面外,vsense应与。相应的参数值相一致。非形式限制:IPl:剪裁曲面的域应在要被剪裁曲面的域之内。4.4.76curve_bounded_surfacecurvebounded_surface是由一个或多个由boundery_curves或degenerate_pcurves定义其边界曲线的参数70 GB/T16656.42—2010/Iso10303—42:2003曲面。其中一条boundery_curves可能是外边界,同时允许有任意数目的内边界。外边界可以隐含地定义曲面的自然边界,这是由implicit_outer标志为ture来指明,在这种情况下至少应定义一个内边界。对某些特定类型的封闭(或部分封闭)曲面(如圆柱面)来说,标识任何给定的边界作为外边界是不大可能的。在basis—surface内的curve_bounded_surface的范围为边界上任意点的N×T方向的基曲面的一部分,其中n是该曲面的法向量,t为该点上边界曲线的切向量。这里定义的区域应该是弧式连通的。ExPREsS描述:*)ERTITYcurve—bounded_surfaceSUB州rpEOF(boundedsurface);basissurface:surface;boundaries:SET[1:?]OFboundary_curve;implicit—outer:BOOLEAN;WHEREWRI“NOTimplicitouter)0R(SIZEOF(QUERY(temp(*boundaries’GI啪TRYSa皿值OU舳_BOUNDARYCURVE’INTY2EOF(temp)))=0);WR2:(NOT(implicit—outer))OR(’GEOMETRY-SCHEMABOUNDEDSURFAUE’INTYPEOF(basis—sLLrface));WR3:SIZEOF(QUF/Ry(temp<*boundaries’GEOMETRYSCHEMAOUTER_BOUNDARY_CURVE’INTYPEOF(temp)))<=1;RR4:STZEOF(QUERy(temp<*boundaries(temp\composite_curveon_surfacebasis_surface[1](>SEl2basis—surface)))=0;END_ENTITY;(*属性定义:basis—surface:基曲面,要定界的曲面。boundaries:界定曲面的边界曲线。不同于隐含的外边界(如果出现),这些曲线至多一条可采用outer—boundary—curve的类型标识为一个外边界。implicit—outer:一个逻辑标志,如果为ture,则指示该曲面的自然边界用作外边界。注:其属性的说明见围19。图19曲边有界曲面形式限制:WRl:当implicit_outer标志为ture时,不应存在显式外边界。WR2:如果basis_surface是有界的,则外边界仅应是隐含地定义。 GB/T16656.42—2010/]so10303-42:2003WR3:在边界表中至多包含一条外边界曲线。WR4:每一条boundary—curve都应位于basis—surface上。对boundaries表的每个元素由composite—curve_on_surface超类型的basis—surface属性检验它。非形式限制:IPl:boundaries集合中的每条曲线都应是封闭的。IP2:在boundaries集合中没有两条曲线是相交的。IP3:边界曲线中至多一条可以封包任何其他的边界曲线。如果指明一条outer—boundary—curve,则仅有这条曲线可以封包任何其他边界曲线。4.4.77boundary_curveboundary—curve是一种有界曲线类型,它适用于曲面边界的定义。EXPRESS描述:*】ENTITYboundarycurveSUBTYPEOF(compositecurwe_on_surface)oWHEREWRI:SELF\composite_curveclosed_curve;END_ENTITY;(*形式限制:WRl:composite—curve超类型的导出closedcurve属性应为ture。4.4.78outer_boundary_curve这是边界曲线的一种特殊子类型,它含有定义一个曲面外边界的附加语义。curve—bounded—surface的boundaries集合中包含的这种曲线不应多于一条。EXPREss描述;*)EN"rITYouterboundary_curveSUBtlEOF(boundaxy_curve);ENDENTITY}f*4.4.79rectangularcomposite_surface这是一个轧u乘nv段(或片)的矩形数组组成的曲面。每一段都是有限的且在拓扑学上是一个矩形(即它对应参数空间中的一个矩形)。这个段或是一个b—spline—surface或是一个rectangular—trimmed—surface。在两个方向上相邻段之间至少应是位置连续的,该复合曲面在u方向可以是开的或封闭的,在”方向上也是开的或封闭的。对于一个具体的段S。(一segments[-i][-j]):——其“方向的前一段是scrl)J"在u方向的前一段是s“_¨,其余诸段类推。——当segments[i][,j].u—sense为TRUE时,邻接sc一,,的s。的边界是“参数较高的边界(有界基曲面的)。当segments[i][j3.u—sense为FALSE时,s。的边界是“参数较低的边界;对于v_sense标志也类似。——在这个复合曲面中,s。的“参数化表示是从i—l到i,即是有限基曲面参数化表示的线性映像。如果u是rectangular_composite_surface的“参数且“卵≤“i≤“。1,并且是segments[-/][j]的“参数,则这些参数的关系式如下:如果SEGMENTS[i][j].u—sense—TRUE,则:U:(i一1)+生盟,“。“l,1一“"0如果segments[i][j]一一sense--FALSE,则72 GB/T16656.42—2010/lSo10303-42:2003U—i一旦L二兰业,“。一“枷一(U—i)(“神一"种)“"1一“HO以类似的方法可得到”的参数化表示。这样,该复合曲面的参数范围为0到n_u,0到n_v。——s。与S(㈩),间的连续度由segments[i][j].u—transition给出。对于一排s。。,,中最后的片来说,如果在“方向上这个复合曲面是开的时,就可能取discontinuous值,相反则复合曲面是封闭的,且过渡代码与到s。的连续性相关;同样,对v—transition.discontinuous也不应出现在segments的surface_patch过渡码中的其他地方。EXPRESS描述:*)InVfITYrectangularcomposite_s11rfaceSUBTYPEOF(hounded_surface);segments:LIST[1:?]0FLIST[1:?]OFsurface_patch;DEEIVEn_u:INTEGER}=SIZEOF(segments);n_v:INTEGER:=SIZ.XOF(segm∞ts[1]);WHEREWRI:SIZEOF(QUERY(S<*segmentsn_v<>SIZEOF(s)))=05WR2:constraints—rectangularcompositesurface(SELF);END_F瑚TITY;(*属性定义:n_u:在“参数方向上曲面片的个数。n-v:在”参数方向上曲面片的个数。segments:组成曲面的面片矩形数组(由一个表的表来表示)。每个这种面片都含有方向和过渡信息。segments[i]Ej].u—transition:指的是segments[i][j]和segments[i+1][j]之间的连续性状况。最后一列(segments[n—u][j].utransition)可能含有discontinuous值,这意味着曲面(的这一行)在“方向上是不封闭的;表的其余部分不可以包含这个值。最后一行(segmentsEi][n_v].v_transition)可能含有discontinuous值,这意味着曲面(的这一列)在U方向上是不封闭的。表的其余部分不可以包含这个值。形式限制:WRl:segments中的每个子表应包含n—v个surface—oatches。WR2:在segments上的其他约束:——各组成的曲面要么是矩形剪裁曲面,要么是B样条曲面。——segments表中的transition_code除最后一行(或列)外,不包含discontinuous值;出现这种情况时,表明在某个方向上曲面是不封闭的。非形式限制:IPl:构成曲面的方向是由segments的每个元素的tl_sense和v—sense属性规定的。4.4.80surface_patchsur{aee_patch是带有附加过渡和方向信息的有界曲面,它用于定义rectangular_composite_surface。EXPRESS描述:*)ENTITYsurface_patchSUBTYPEOF(foumded_item);parent_surface:houndedlsurface;u_transition:transition_code;vltransition;transition_code;73 GB/T16656.42—2010/ISO10303-42:2003u-sense:BOOLEAN;v_sense:BOOLEAN;INVERSEusingsurfaces:BAG[1:?]OFrectangularcomposite_surfaceFORsegments;吼mREWRI:(NOT(’GEOMETRYSCHEMA.CURVE_BOUNDED_SURFACE’INTYPEOF(paxent_surface)));END_ENTITY;(*属性定义:parent—surface:父曲面,定义面片几何与边界的曲面。注:由于parent_surface并不是geometric—representation—item的子类型,作为parent—surfaced的boundedsurface实体不会自动与采用包含这个surface—patch的rectangularcomposite—surface所在的representation的geometric_representation_context相联系。因此,确保bounded—surface实体包含在拥有合理的geometric—rep—resentation—context的representatio中是必要的。u_transition:沿着该面片的第二U边界连接它的邻接面片的第一U边界时的几何连续性的最小状态。对最后的面片,它定义了该rectangular_composite_surface的第一u边界和最后U边界间的连续状态。v_transition:沿着该面片的第二v边界连接它的邻接面片的第一v边界时的几何连续性的最小状态。对最后的面片,它定义了该rectangular_composite_surface的第一v边界和最后v边界间的连续性状态。u_sense:定义面片(参数值增加)的方向与parent—surface方向间的关系。如果u—sense为TRUE,则该面片的第一U边界是参数U取最低值的边界;如果usense为FALsE,则它是最高值边界。v_sense:定义面片(参数值增加)的方向与parent—sur{ace方向间的关系。如果v_sense为TRUE,则该面片的第一v边界是参数v取最低值的边界;如果v_sense为FALSE,则它是最高值边界。using—surface:在定义中使用了surface—patch的rectangular—composite—surface的集合。这个集合不应为空。形式限制:WRl:曲边有界曲面不适于定义曲面片。4.4.81offset_surfaee这是从原始曲面按法向距离的一个简单偏置曲面的过程性定义。距离可以是正的、负的或零,以指明该曲面哪一侧。正侧及产生的偏置曲面定义如下:a)在“和”方向上定义基曲面的单位切向量,用口。和口。表示。b)取它们(应是线性无关的或没有偏置曲面)的叉积,N--a。×吼。如果可能,在奇异点处N应进行连续性延拓。c)单位化N以得到一个(曲面的)单位法向量。’d)沿该向量移动偏置距离(可以是零)以找出偏置面上的点。注1:这个定义允许offset_surface是自相交的。offset—surface直接从它的基曲面取它的参数化表示,其对应点具有相同的参数值。offset—surface的参数化表示为:d(“,")一S(“,")+dN式中,N为在参数值(“,V)处到基曲面s(u,”)的单位法向量,d为distance。注2:使用这个实体时应注意,要保证偏置距离在基曲面任何点的任何方向上不要超过曲率半径,具体地说,曲面不应包含任何脊线或奇点。EXPRESS描述:*)ENTITYoffset—surfaceSUBTYPEOFt、surface);74 GB/T16656.42—2010/ISO10303-42:2003Dasis_surtace:surface;distance:lengthmeasure;self—intersect;LOGICALt;END_ENTITY;f*属性定义:basis—surface:将被偏置的曲面。distance:偏置距离,可以是正的,负的或为零。正偏置距离沿曲面法向量的方向进行测量。selLintersect:指示曲面是否自相交的标志;这仅作为信息。4.4.82oriented_SUFfaceoriented—surface是法线方向可以翻转的曲面。oriented_surface上任一点的规范化法线N可用下述方程定义:N(“,o)N(u,u)(宝)×(骞),如果方向为.TRUE.,一(宝)×(骞),如果方向为.FALSE.。注:oriented-surface可以用其他曲面子类型示例。例如orientation=FALSE的oriented—surfacer复杂实体,以及用spherical—surface定义带有内法线的球面。EXPRESS描述:*)ENTITYoriented_surfaceSUBTYPEOF(surface);orientation:BOOLEAN;ENDENTITY;f*属性定义:orientation:指出曲面的法线方向是否可翻转的标志。4.4.83surface_replicasurface—replica定义已有曲面在不同位置的复制。这通过引用父曲面及一个给出新位置和可能的缩放比例的变换来定义。其父曲面是不受影响的。所生成曲面的几何特征与父曲面的特征相同,但其变换包括比例缩放,故大小可能不同。EXPRESS描述:*1ENTITYsurface_replicaSUBTYPEOF(surface);parent—surface:surface;transformation:cartesiantransformationoperator3d;WHEREWRI:acyclic—surfacereplica(SELF,parentsurface);END_ENTITY;(*属性定义;parent—surface:父曲面,要被复制的曲面。transformation:定义相对于父曲面的复制曲面的位置、方向和放缩比例的cartesian—transformation_operator——3d。形式限制:WRl:surface—replica不应参与其自身的定义。4.4.84volumevolume是由三参数表示的三维实体有限集。每个volume都有一个参数化的表示75 GB/T16656.42—2010/[so10303-42:2003V(“,口,计)其中“、。、W是无量纲的。对参数范围内的每个V(u,。,w):r—V(“,口,计),给出volume范围内的相关点。注:在本文中,标准实体的参数范围已标准化,它主要针对[o:1],确保其无量纲。EXPRESS描述:*)EljTITYvolumeSUPERTYPE0F(ONEOF(bloc】(-volume,wedgelvolume,spherical—volume,cylindrical—volume,eccentric—conical—volume,toroidal—volume,pyramid-volume,bspline_volume,ellipsoid_volume,tetrahedron_volume,hexahedron_volume))SUBTYPEOF(geometric_representation_item);两皿IiEWRI:SELF\geometric—representation_itemdim=3}END_EBTITY;f*形式限制:WRl:坐标空间维数应该是3。4.4.85block_volumeblock—volume是一种直角平行六面体形式的参数体,其用一个局部坐标系和对应坐标轴的三个长度值描述,block—volume由坐标系沿坐标轴的z,y,z正长度值标定,并且它的一个顶点就是局部坐标系的原点。其参数表示如下:C--position.10cation(corner)z—position.pet]y—position.p[2]z—position.p[3]Z—x(1ength)d--y(depth)h—z(height)其方程式表示为:V(U,w,叫)一C+u/x+vdy+让^z其中,参数范围为:O00;END_ENTITY;(*属性定义;point-1:定位实体的第一个cartesianpoint顶点。point一2:定位实体的第二个cartesian_point顶点。point一3:定位实体的第三个cartesian_point顶点。point一4:定位实体的第四个cartesian_point顶点。形式限制:WRl:point_l的坐标空间维度为3。注:compatihle_dimension规则确保了实体的所有cartesian_point属性都具有相同维数。WR2:point_l、point一2、point一3、point一4不共面。可用point一1到其余各点的3个方向的cross—product非零来验证的。4.4.89hexahedronvolumehexahedron—volume是一个有8个顶点6个四边形面的volume。其顶点由8个点定义。方程表示:V(“,7J,叫)一(1一“)(1一口)(1一硼)P1+(1一“)(u)(1一训)P2+uv(1一叫)P3+M(1一u)(1一训)P4+(1一“)(1一口)叫P5+(1一“)(口)"P6+“仉uP74-“(1一口)WP8其中o≤“,U,w≤1,P。表示points[i]的方向。EXPRESS描述:*、ENTITYhexahedron_volumeSUBTYPEOF(volume);points:LIST[8:8]OFcartesian_point;WHEREWRI:above_plane(points[1],points[2],points[3].points[4])=00;WR2:aboveplane(points[5],points[8],points[7],points[6])=00;WR3:above_plane(points[1],points[4],points[S],points[5])=00;WR4:above_plane(points[4],points[3],points[7],points[8])=00;WR5:above_plane(points[3],points[2],points[6],points[7])=00;WR6:aboveplane(points[1],points[5],points[6],points[2])=00;WR7:same—side([points[1],points[2J,points[3]],[points[5],points[6],points[7],points[8]]);WR8:same_side((points[1],poIntsE4],points[8]],[points[3],points[7],points[6],points[2]]);WR9:same_side([pointsD],points[2],points[5]],[poInts[3],points[7],points[8],points[4]]);79 GB/T16656.42—2010/ISO10303-42:2003WRl0;sameside([points[5],p。i11ts[6],points[733,[point413,points[2],points[33,points[433>;WRII:same_slde([points[3],points[7J,points[6]],[points[1],points[43,points[8],poInts[53J);WRl2:same_side([points[3],points[7],points[833,[points[1],points[5],p。i11ts[6],points[2]]){WRl3:points[13dim=3IENDENTITY(*属性定义:points:定位convex_hexahedron的cartesian_point顶点。这些点定义如下:points[I],points[2],points[3J,points[4]沿实体一个平面的逆时针方向排布,同样的,points[5],points[6],points[7],points[8]位于相对的表面。注:关于顶点位置的更进一步信息详厕图23。形式限制:WRl:前四个points共面WR2:后四个points共面WR3:点points[i],points[4],points[S],points[5J共面WR4:点points[43,points[3J,points[7],points[8]共面WR5:点points[33,points[2J,points[63,points[7J共面WR6:点points[1],points[5],points[6],points[2]共面WR7:点points[S],points[6J,points[7J,points[8]应该位于由点points[1],points[23,points[3J组成平面的同一侧WR8:点points[3],points[73,points[6J,points[2J应该位于由点points[1],points[4],points[8]组成平面的同一侧WR9:点points[4],points[3],points[7],points[8J应该位于由点[points[i],points[2],points[5]组成平面的同一侧WRl0:点points[1],points[2],points[3],points[4]应该位于由点points[5],points[6J,points[7]组成平面的同一侧WRll:点points[13,poInts[4],points[8],points[S]应该位于由点points[3],points[7],points[63组成平面的同一侧WRl2;点points[i],points[5],points[6J,points[2J应该位于由点points[3],points[7],points[8J组成平面的同一侧注:以上6条可保证points定义的图形是凸的。WRl3:points[1]具有3个坐标维数。4.4.90spherical_volumespherical_volume是用一个半径为R的球形实体定义的参数体,由半径和位置定义。参量符号定义如下:C—position.10cation(centre)x=position.p[1]Y=position.p[2]z=position.p[3]R=radius方程表示为:80 参数范围:o≤“≤1EXPRESS描述:*、GB/T16656.42—2010/ISO10303-42:2003c+嘏c。s(詈)((cos(2呦)z+(Sin(2Ⅲ瑚+诚(sin等)z-1≤口≤1,O≤W≤1。ENTITYspherical—volumeSUBTYPEOF(volume);position;axis2一placement3d;radius:positive_length—measur8;END_ENTITY;f*属性定义:position:坐标系的位置和方向。position.10cation为其球心。Radius:球的半径。4.4.91cylindrical_volumecylindricaLvolume是用圆柱体定义的参数体,由方向、位置、半径、长度决定。参量定义:C—position.10cationz—position.pEl]Y—position.p[23z—position.p[33R—radiusH—height方程表示:V(u,口,训)一C+wR((cos(2Ⅱ“))X+(sin(2uu)y)+vHz参数范围:o≤“≤1,0≤口≤1,0≤∞≤1。EXPRSEE描述:*)删TITYcylindrical—volumeSUBTYPEOF(volume);position:axis2一placement_3dlradius:positive_lengthmeasure;height:positivelengthmeasureENDENTITY;f*属性定义:position:圆柱体的位置和方向。position.10cation:圆柱体中心轴上的点。position.p[-33:圆柱中心轴的方向。radius:圆柱体的半径。height:圆柱体的高度。4.4.92eceentric_eonical_volumeeccentric_conical—volume是用斜圆锥定义的参数体。它可能具有椭圆截面,中心轴可能不垂直底面。根据ratio属性的取值,eccentric_conical—volume可能是椎体截平了的柱体,也可能是一般的柱体。当为椎体被截去顶端的情况时,其上下底面平行,且形状相似。参量符号定义:81 GB/T16656.42—2010/ISO10303—42:2003方程表示:V(“,。,训)一C+v(x。+一。)4-叫(1+v(s—1))(R1(cos2丁cu))z+R2(sin(2nu)y)4-vHz参数范围:O≤“≤1,O≤”≤l,0≤"≤1。EXPRESS描述:*)ENTITYeccentric—,conical——volumeSUBTYPEOF(volume);position:axis2placement3d;semiaxis_1;positive_lengthnmeasure;semLaxis一2:positive_length-measure5height;positire_length-measure;x_offset:lengtkmeasure;y_offset:length_measure;ratio:REAL;WHEREWRI:ratio)=00;KND_ENTITY;(*属性定义:position:轴上中心point的位置和semi—axis一1的方向。它定义了eccentric心和底面。position.p[3]是eccentric_conical—volume底面法线。semi—axis一1:底面在position.pill方向第一半径的长度。semi—axis一2:底面在position.p[23方向第二半径的长度。height:实体在position.p[3]方向的高度。xoffset:底面中一12,点在顶面上的垂直投影与顶面中心点在position.p[1]方向上的距离。y_o{fset:底面中心点在顶面上的垂直投影与顶面中心点在position.p[2]方向上的距离。ratio:顶面半径和底面半径之比。形式限制:WRl:比率应该非负。注1:由position定义的方位坐标系中,eccentricconical—volume的顶面中点与坐标(x—offset,Yoffset,height)相对应。注2:如果raft=00,则eccentric—conical—volume包括顶点。如果ratio一1.0,则eccentric—conical_volume表现为截面具有相同维数的圆柱。注3:如果x_offset=y_offset--0.0,则eccentric—conical—volume为正椭圆锥,若R1=R。,则该实体为正圆锥。4.4.93toroidal——volumetoroidal—volume是平面内圆盘绕一条直线旋转而得到的参数体。此处的圆盘半径称为minor一82篇篇基霉篓|.焉≯一一一一~一一~一一 GB/T16656.42—2010/[so10303—42:2003radiuS,圆盘圆心到旋转轴的距离称为maJor—radius。toroidal—volume用大小半径和曲面的位置及方向定义的。参量符号定义:C—position.10cationz—position.pLljY—position.pL2Jz—position.pL3JR=major_radiusr=minor—radius方程表示:V(U,V,w)!C+(R+wrcos(2av))((cos(2Ⅱ“))z+(sin(2au))y)+吖(sin(27rv))z参数范围:o≤“,”,w≤1。EXPRESS描述:*)ENTITYtoroidal—volumeSUBTYPEOF(volume);position:axis2一placement一3d;major—radius:positive_length_measure&mlnor_radius:positive_lengthmeasure;WHEREWRI:minor_radius2)ORNOTEXISTS(vec)THEN94 GB/T16656.42—2010/[so10303-42:2003P}ETURN(?);ELSEresult:=dummy_gridirection(E—vecdirection_ratios[2];vecdirectionratiosEl33);RETURN(result);ENDIF;END_FUNCTION;【*属性定义:vec:(输入)2D空间中的一个方向。resuh:(输出)垂直于vec的方向。4.6.10first_proj_axis这个函数生成一个3D的direction,如果输入的数据全部定义了,则这个方向是arg在垂直于z—axis的平面上的投影;如果arg是缺省的,则其结果是[1,o,o]在这个平面上的投影。除非,如果z—axis一[1,0,01或z—axis一[一1,o,01,则Eo,1,o]是arg的缺省值。如果arg与输入的z—axis同向则出现违例。注:此函数不提供返回direction的几何创建,函数的调用保证此函数在带有geometric—representation—context的representation中使用。EXPRESS描述:*、FUNCTIONfirst_proj—axis(z—axis,arg:direction):direction;LOCALx_axis:direction{”:direction;z:direction【;x_vec:vector;FJⅡD_LOCLL;IF(NOTEXISTS(z—axis))T}ⅢNREⅢmN(?);ELSEz:=normalise(z—axis);IFNOTEXISTS(arg)THENIF((zdirection_ratios(>[10,0o])AND(zdirection_ratios()[一10,001))THENv:2dummy_gridirection([10,001);ELSEv:=dummy_gridirection([o0,10,003);ENDjF;ELSEIF(argdim<)3)THENRETURN(?);END_IF;iF((cross—product(arg,z)magnitude)=00)THENRETURN(?);ELSEv:2normalise(arg);END_IF;x—vec:2scalar—times—vector(dotproduct(v,z),z);x_axis:=vector_difference(v,x_vec)orientation;xaxis:=normalise(x_axis);END_IF;RETURN(x_axis);95 GB/T16656.42—2010/ISO10303-42:2003ⅫD—EUNcTIuH;(*变量定义:z—axis:(输入)定义一个局部z坐标轴的direction。arg:(输入)一个不平行于zaxis的direction。.x_axisx:(输出)一个direction,它取arg在垂直于z_axis的平面上投影的方向。4.6.11second_proj_axis这个函数返回一个规范化的direction,这个direction是arg在垂直于z_axis的平面上的投影和arg在垂直于x_axis的平面上的投影的direction。如果arg为NULL,则返回向量(0,1,0)在z—axis的投影方向。注:此函数不提供返回方向的几何创建,函数的调用保证此函数在带有geometric—representation—context的representation中使用。·EXPRESS描述:*)FuNcTIoNsecond_proj—axle(z_axis,xaxis,arg:direction):direction;LOCALy_axisvector}7:direction;temp;direction;ENDLOCAL}IFNOTE)【IsTS(哪)TmNv:=dummy_gridirectimn([00,10,00J)}ELSE”:2arg;END_IF;temp:2scalartimes—vector(dot—product(v,z—axis),z—axis);y_axis:=vector_difference(v,t锄p);temp:。scalartimes_vector(dot-produot(v,x_axis),xaxis);y_axis:2vector_difference(y_axis,te“p);y_axis;2normalise(y_axis);RETURN(y_axis.orientation);啪-FuNcTIoN;f*属性定义:z—axis:(输入)定义一个局部Z轴的方向。x_axis:(输入)不平行于z_axis的一个方向。arg:(输入)用作第一个近似于y_axis方向的方向。y_axis.orientation:首先arg投影到垂直于zaxis的平面上,然后将这个结果投影到垂直于x—axis的平面上所确定的方向。4.6.12cross_.product该函数返回一个向量,即两个输入direction的叉积(向量积)。输入的direction必须是3D的并且在计算时被规范化,其结果总是一个无单位vector。如果输入的方向平行或反向平行,则返回一个orientation=argl的零向量。注:此函数不提供返回vector的几何创建,函数的调用保证此函数在带有geometric—representation—context的rep—resentation中使用。EXPRESS描述:*)FUNETIONcross—product(argl,arg2:direction):vector;LOCAL96 REAL;direction;LIST[3;3]OFREALvector;GB/T16656.42—2010/ISO10303-42:2003IF(N∞EXISTS(ar91)OR(argldim=2))OR(nOTEgISTS(ar92)OR(ar92.di==2))TIgmRgr[mN(?);,ELSEBEGINvl:2normalise(ar91)direction_ratios;v2:=normalise(ar92)direction_ratios;res:=dummy_gri|【direction([(vl[2]*v213]一v113]*v212]).(riD]*v2[Z]一vi[i]*v2[3]),(vlD]*v212]一viE2]*v2[1])]);mag:200;REPEATi:=1TO3;mag:=mag+resdirection_ratios[i3*resdirection_ratios[i3‘END_REPEATlZF(mag>0.0)THENresult:=dummy_grivector(res,SORT(mag));ELSEresult:=dummy_gri||vector(argl,0.O);ENp—IF,RETURN(result);END;END_IFIEND_FUNCTIOR;(*变量定义:argl:(输入)在叉积运算中定义第一个向量的direction。ar92:(输人)在叉积运算中定义第二个向量的direction。result;(输出)argl和ar92的叉积vector。4.6.13dot_product该函数返回一个标量,即两个direction的点(·)积。输入的变量可以是2D或3D空间中的direction,并且在计算时被规范化。如果输入的direction维数不同或无定义时,则返回的标量也不确定。EXPRESS描述:*)FUNCTIONdot-product(arg1,arg2:direction):REAL;LOCALscalar:REAL;vecl,vec2:direction;ndim:INTEGER;END_LOCAL;IFNOTEXISTS(ar91)ORNOTEXISTS(ar92)THENscalar:=?;(*Whenfunctioniscalledwithinvaliddataaindeterminateresultisreturned*、ELSEIF(arg1dim<)ar92dim)THEN.scalar:=?;f*Whenfunctioniscalledwithinvaliddataaindeterminateresultisreturned*)97t址耋嚣一脚 GB/T16656.42—2010/[so10303-42:2003ELSEBEGINvecl:=normalise(ar91);vec2:2normalise(ar92);ndim:=argldim;scalar:=00;REPEATi:=1TOndim;scalar:=scalar+vecldirection_ratios[i]*vec2directionratios[i];END_REPEAT;END;END_IF;ENDIF;RETURN(scalar);ENDFUNCTION;(+变量定义:argl:(输入)定义点积或标量积运算中第一个向量的方向。ar92:(输入)定义点积运算的第二个向量的方向。result:(输出)argl和ar92点积运算的标量结果。4.6.14normalize该函数返回一个各分量都已规范化的vector或direction,即其平方和为1.0。该输出与输入变量同类型(vector或direction,具有同样的单位)。如果输入变量没定义或为零长度,则输出向量不确定。注:此函数不提供返回vector或direction的几何创建,函数的调用保证此函数在带有geometric—representation—context的representation中使用。EXPRESS描述:*)FUNCTIONnormalise(arg:vector_or_direction):vector_or_direction;LOCkLndim:INTEGER;”:direction;result:vector_or_direction;vec:vector;mag:REAL;END_LOCAL;IFNOTEXISTS(arg)THENresult:=?;(*Whenf1_mctioniscalledwithinvaliddataaNULLresultisreturned*)ELSEndim:=argdim;IF’口OMETRY_SCHEMAVECTOR’INTYPEOF(arg)T王ⅢNBEGINv:=dummy_gridirection(argorientationdirection_ratios);IFargmagnitude=00THENRETURN(?);ELSEEND;ELSE”:2dummy_gridlrection(argdirectionratios)ENDIF;mag:=00;98 GB/T16656.42—2010/iso10303—42:2003REPEATi:=lTOndim:mag:2mag+Vdirectionratios[i]*vdirectionratios[i]:ENDREPEAT;IFmag)00THENmag:=SQRT(mag);REPEA_T1:=1TOndim:vdirectionratios[i]:=vdirection_ratios[i]/mag:END_REPEAT;IF’GEOMETRY_SCHEMAVECTOR’INTYPEOF(arg)THENvecorientation:=”;result:。vec;ELSEresult:2”;ENDIF2ELSERETURN(?);END_IF;RETURN(result);END_FUNCTION;f*变量定义:arg:(输入)要规范化的一个vector或direction。result:(输出)平行于arg且为单位长的一个vector或direction。4.6.15scalar_timesvector这个函数返回一个输入向量的标量倍数的向量。它接受作为输入的是一个标量和一个“向量”(其可以是direction或vector),输出是一个与输入vector同单位的vector,或当输入是direction时,则输出无单位。如果输入变量无定义,则返回vector也不确定。如果该标量为负,则vector的orientation相反。注:此函数不提供返回vector的几何创建,函数的调用保证此函数在带有geometric—representation~context的rep—resentation中使厢。EXPRESS描述:*)FUNCTIONscalar_times~vector(scalar:REAL;vec:vector_or_direction):vector;LOCALv:direction;maq:REAL;result:vector;END_LOCAL;IFNOTEXISTS(scalar)ORNOTEXlSTS(vec)THENRETURN(?);ELSEIF’GEOMETRYSCHEMAVECTOR’工NTYPEOF(vec)THENv:=dummy_gridirection(vec\vectororientationdirection—ratios);mag:=scalar*vecmagnitude;ELSEv:=dummy_gridlrectlon(vecdirection_ratios);mag:=scalar;ENDIF;IF(mag<00)THENREPEATi:=1TOSIZEOF(vdirectionratios);vdirection_ratios[i]:;vdirection_ratios[i]{ GB/T16656.42—2010/LSO10303-42:2003口p一目EAT;mag:2一mag;Et●DIF}result:=dummy_grivector(normalise(v),sag);END_IF;RETU瑚4:result);END_FUNCTION;(*变量定义:scalar:(输入)参与运算的一个实数。vec:(输入)要乘以倍数的vector或direction。resuh:(输出)scalar和vex之积的vector。4.6.16vector_sum该函数返回输入变量之和。函数的返回是一个向量,它是两个输入“向量”的和。为此direction被看作单位向量。两个输入变量必须同维数,它们可以是direction或vector,当两者皆为vector时,它们必须具有相同的单位。一个零的和向量产生一个在argl方向上的零向量,当两个输入变量皆为direction时,结果无单位。注:此函数不提供返回vector的几何创建,函数的调用保证此函数在带有geometric—representation_context的rep—resentation中使用。EXPRESS描述:*)FUNCTIONvector_sum(argl,ar92:vector_or_direction):vector‘LOcALresult:vector,feb,vecl,vec2:direction!mag,magl,ma92tREAL;ndim;INTEGER;FaDLOCAL;IF((NOTEXISTS(ar91))ON(NOTEXISTS(ar92)))0R(az可1.dim<)ar92.dim)THENmcT【JRN(?);ELsEBEGINIF’GEOMETRY_SCHeMAVECTOR’INTYPEOF(ar91)THENmagl:。argl帕gnitude;vecl:。argl\vector.orientation!ELSEsagl:=10;vecl;2argliENDIF;IF’∞ARETRYSCHm4AVECTOR’INTYPEOF(ar92]ITIⅫma92:5az92magnitude;vec2:=ar92\vector.orientation;ELSEma92:’-1.0;vec2:5ar92;END_IF;vecl:=normalise(vecl);vec2:2normalise(vec2);ndim:=SIZEOF(vecldirection_ratios);mag:200;res:=dummy_qridirection(vecldirection_ratios);100 GB/T16656.42—-2010/ISl10303-42:2003REPEATi:=1TOndimlresdirectionratios[iJ!=magl*vecldirection_ratios[ij+ma92*vec2direction_ratios[i];mag:=mag+(resdirectionratios[i]*resdirection_ratios[i]);ENDREPEATIIF(mag)0.0)Tl皿Nresult:=dummy_grivector(res,sOlt"r(=ag))lELSEresult:=dummy_grivector(vecl,00);ENDIF;END;END_IF;RETURN(result);END_FUNCTIONt(*变量定义:argl:(输入)在vector或direction的和运算中定义第一个造作数。ar92:(输人)在vector或direction的和运算中定义第二个造作数。result:(输出)argl和ar92向量之和的vector。4.6.17vector_diffefence该函数返回输入变量如(argl~ar92)的差。该函数返回一个vector,其为两个输入“向量”的向量差。为此direction被看作单位向量。两个输入变量应当同维数,但它们可以是vector或direction。如果两个输入变量皆为vector,则它们必须以相同单位表示。如果两者皆为direction,则所产生的结果无单位。一个零值差向量生成一个在argl方向上的零vector。注;此函数不提供返回vector的几何创建,函数的调用保证此函数在带有geometric—representation_context的rep—resentation中使用。EXPRESS描述:*)FUNCTIONvector_difference(argl,ax92:vector_or_direction):vectorlLOCALresult:vector;res,vecl,vec2;direction;mag,magl,sa92:REAL;ndim:INTEGERI肿LOCAL:IF((NOTEXISTS(ar91))oR(NOTEXISTS(ar92)))oR(argldim<)ar92dim)口Ⅻ硒旧,RN(?);EⅫBEGINIF’饪Ⅺ哑吼Sa口掀VECTOR’工NTYPEOF(ar91)THENmagl:=arql.magnitude;vecl:=argl,orientation!功趣magl:=10;vecl:=argl#END_IF;IF’GEOMETRY_SChEMAVECTOR’INTYPEOF(ax92)口Ⅲma92:2arq2magnitude;vec2:2ar92orientationiELSE101 GB/T16656.42—2010/ISO10303—42:2003ma92:=10;vec2:=ar92;END_IF;vecl:=normalise(veql);vec2:=normalise(vec2);ndim:=SIZEOF(vecldirectionratios)res:=dummy_gridirection(vecldirectionratios);REPEATi:=1TOndim;resdirection_ratios[i]:=magl*vecldirectionratios[1]+ma92*vec2directionratios[1];mag:=mag+(resdirectionratios[i3*resdirection_ratios[i]);ENDREPEAT;IF(mag)00)THENresult:=dummy_grivector(res,SQRT(mag));ELSEresult:=dummy_grivector(vecl,00);END_IF}END;END_IF;RETURN(result);END_FUNCTION;(*变量定义:argl:(输入)在向量差运算中定义的第一个vector或direction。ar92:(输入)在向量差运算中定义的第二个vector或direction。result:(输出)argl和ar92向量之差的vector。4.6.18defaultb_spline_knot_mult该函数返回节点重数的整数表,对B样条的参数化表示来说,它依赖于节点向量的类型。EXPRESS描述:*)FUNCTIONdefault—b-spline_knot—mult(degree,up_knots:INTEGER;uniform:knot—type):LIST[2:?jOFINTEGER}LOCALknot—mult:LIST[1:up_knots]OFINTEGER;ENDLOCAL;IFuniform=uniformknotsTHENknot—mult:=[1:up_knots];ELSEIF山niform=quasi—uniform_knotsTHENknot—mult:=[1:up_knots];knot—multil]:=degree+l;knotmultSup_knots]f=degree+1;ELSEIFuniform=piecewisebezierknotsTHENknot_mult:=[degree:up_knots];knot—mult[1]:=degree十1;knot—mult[up_knots]:=degree十l;ELSEknot—mult:=[O:up_knots];END_IF;】02 GB/T16656.42—2010nso10303—42:2003EHU1};RETuRli(knot—mult);ENDFUNCTION;(*变量定义:degree:(输入)定义B样条基本函数阶的整数。up—knots:(输入)给出所需节点重数个数的整数。uniform:(输入)需要节点重数的基本函数的类型。knot—muh:(输出)整数节点重数表。4.6.19defaultb_spline_knots该函数返回节点向量,对于B样条的参数化表示来说,其依赖于knot—type。ExPRESs描述:*)FUNCTIONdefault—bspline_knots(degree,up—knots:INTEGER;uniform:knot—type):LISTL2:?joFparametervalue;LOCALknots:LIST[1:up_knots]OFparameter—value:=[o:upknots];ishift:INTEGER:=1;END_LOCAL;IF(uniform=uniform_knots)THENishift:=degree+l;END_IF;IF(uniform=uniform_knots)OR(uniform=quasiuniform_knots)OR(uniform=piecewise—bezier—knots)lTHENREPEAT1:=1TOup_knots;knots[1]:=1一ishift;ENDREPEAT;ENDIF;RETURN(knots);END_FUNCtION;(*变量定义:degree:(输入)定义B样条基本函数阶的整数。up—knots:(输入)给出所需节点值个数的整数。uniform:(输入)所需节点基函数的类型。knots:(输出)节点的参数值表。4.6.20default—b_spline_surface_weights该函数返回一个实数数组且其up—cp权因子赋值为1.0。EXPRESS描述:*)FUNCTIONdefaultbsplinecurveweights(upcp:INTEGER):ARRAY[O:up—cp]0FREAL;RETURN([1:up_cp+1]);END_FUNCTION;(*变量定义:up—cp:(输入)定义B样条曲线权因子数组所需上指标的整数。 GB/T16656.42—2010IISO10303-42:2003weights:(输出)一个权因子值的实数数组。注:这个函数在GB/T16656的本部分中不使用,这里定义它是供应用程序使用的。4.6.21defaultbspline_surface_weights该函数返回一个实数数组且其权因子赋值为1.0。·EXPRESS描述:*)FUflCTIONdefault_b_spline_surface_weights(U—upper,v_upper:INTEGER):ARRAY[o:u_upper]0FARRAY[o:v_upper]OFREAL;RETURN([[1:v_upper+13:ulupper+1]);END_FUNCTION;(*变量定义:u_upper:(输入)在U方向上定义的所需的B样条曲面权因子数组上指标的整数。v_upper:(输入)在口参数方向上给出的该曲面所需的权因子个数上指标的整数。weights:(输出)权因子值数组的实数数组。注:这个函数在GB/T16656的本部分中不使用,这里定义它是供应用程序使用。4.6.22constraints_param_b-spline该函数检验B样条曲线或(其中一个方向的)B样条曲面的参数化,如果没有发现不一致,则返回TRUE。这些约束条件是:a)degree≥1;b)节点上标≥2;c)控制点的上标≥degree;d)节点重数的和一degree+控制点的上标+2;e)对第一个和最后一个节点,其重数界于1和(degree+1)之间;f)对于所有其他节点的节点重数界于1和degree之间;g)顺次相邻的节点是按值递增的。EXPRESS描述:*)FUNCTIONconstraints_param_bspline(degree,up_knots,up_cp:INTEGER;knot_mult:LISTOFINTEGER;knots:LISTOFparameter_value):BOOLEAN;LOCALresult:BOOLEAN:=TRUE;k,sul:INTEGER)END_LOCAL;(*Findsumofknotmultiplicities*)SUm:=knot_mint[1];REPEATi:=2TOuplknots;SUm:=sum+knot_mult[i]END_REPEAT)(*ChecklimitsholdingforallB-splineparametrisations*)IF(degree(1)0R(up_knots(2)0R(up_cp:sET[o:2]oFsurface;LOCALsurfs:SET[O:2]OFsurface;n:INTEgeR;END_LOCAL;surfs:=[];IF‘GEOMETRY_SCHEMAPCURVE’INTYPEOF(c1THENsurfs:=[c\Pcurvebasis—surface];ELSEIF‘GEOMETRySCHEMASURFACE_CURVE’INTYPEOF(c)THENn:=SIZEOF(elsurface_curveassociated_geometry);REPEATi:=1TOn;surfs:=surfs十associatedsurface(c\surface_curveassociate吐一ged日etrY[i]);END—REPEAT;F珊D_IF;END_IF;IF+GEOMETRy_SCHEMACOMPOSITE_CURVE—ON_SURFACE’INTYPEOF(c)THEN106 GB/T16656.42—2010/iso10303-42:2003(*Foracomposite_curve_on_surfacethehasis—surfaceistheintersectionofthebasis_surfacesofallthesegments*)n:=SIZEOF(c\composite—curvesegments);surfs:=get~basis—surface(c\compositecurvesegments[1]parentcurve);IFn)lTmⅢREPEATl:=2TOn;surfs:。surfs’get_hasis—surface(c\compositecurvesegments[i]parent_curve);END_REPEAT;ENDIFEND_IF;RETURN(surfs);ENDFUNCTION;(*变量定义:c:(输入)要确定其basis—surface的一条曲线。surfs:(输出)包含basis—surface或c位于其上的曲面集合。4.6.26surfaceweights_positive该函数检验rational—b—spline—surface控制点的权因子值,且当它们全部为正数时,返回TRuE。EXPRESS描述:*1FUNCTIONsurface_weightspositive(b:rational一虬spline_surface):HOOLEAN}LOCALresult:BOOLEAN:=TRUE;ENDLOCAL:REPEATi:=0TObu_upper;REPEATJ:=0Tobvupper;IF(bweights[i][j](=0o)THENresult:=FALSE;RETURN(result);END_IF;ENDREPEAT;END_REPEAT;RETURN(result);END_FUNCTION;f*变量定义:b:(输入)要检验其权因子值的rational—b—spline_surface。4.6.27volumeweights_positive此函数检查rational—b_spline_volume控制点的权因子,如果它们全为正数,则返回真。EXPRESS描述:*、FUNCTIONvolⅦme_weights—positive(b:rational—b_splinevolume):BOOLEANLOCALresult:BOOLEAN:=TRUEENDLOCAl.;REPEATi:=0TObuupper;REPEATJ:20TObv_upper{REPEATk:=0TObwupper;IF(bweights[i][j][k](=0o)THEN GB/T16656.42—2010/LSo10303-42:2003result:。FALSE;RETURN(result);ENDIF;END_REPEAT;ENDREPEATlEND_REPEAT;RETURn(result);ENDFUNCTION;f*参数定义:b:(输入)需要进行权因子值检测的rational—b—splne—volume。4.6.28constraints.—rectangular_composite_surface该函数检查在矩形复合曲面上的属性的下列约束:——组成复合曲面的子曲面要么全是矩形裁剪平面,要么是B样条平面;——分段数组的transition属性除了最后一行或列外,不包含discontinuous值,其中不连续表明在该方向上不封闭。EEXPRESS描述:*1FUNCTIONconstraints—rectanoular_compositesurface(s:rectangular_composite_surface):BOOLEAN;(*Checkthesurfacetypes*)REPEATi:=lTOsnu;REPEATJ:=lTOSnv;IFNOT((‘GEOMETRYSCHEMAB_SPLINKSURFACE’INTYPEOF(Ssegments[i][]]parent_surface))OR(‘钮黜黜一SOREMA艇艘ⅫG【】L随TRI}衄峦一s啦ACE‘INTYPEOF(Ssegm∞ts[i][]]parent—surface)))THENRETOPa(FALSE)lEND_IF;ENDREPEAT;ENDREPEAT;(*Checkthetransitioncodes,omittingthelastroworcolumn*)REPEATi:=1TOSn_u一1;REPEATJ:=1TOsn_v;IFSsegments[i][j]u_transition=discontinuousTHEN硼弧URN(FALSE):ENDIF;ENDREPEAT;ENDREPEAT;REPEATi:=1TOsrLu;REPEATJ:=1TO8n_v—i;IFs.segments[i][j]v_transition=discontinuousTHENRETURN(FALSE);ENDIF;ENDREPEAT;ENDREPEAT;RETURN(TRUE);ENDFUNCTIONlr*参数定义:S:(输入)将被检验的矩形复合曲面。108 GB/T16656.42--2010/]S010303-42:20034.6.29lisLto_array该函数将一个普通的表转换成预定数组边界的数组。当这个数组的界与初始表中元素的个数不相容时,结果返回null。该函数用于构造B样条实体中使用的控制点和权因子数组。EXPREss描述:*)脚10Nlist_to_array(1is:LIST[o:?]OFGENERIC:1;low,u:INTEGER):ARRAY[10w:u]OFGENERIC:’}LOmn:IBTEGER;res:ARRH[1伽:u]OFG蹦隙Ic:T"ENDLOCAL;n:=SIzEOF(1is);IF(n<>(u—low+1))THENRETURN(?)}ELSEres:=[1is[1]:n];REPEATi:=2TOnIres[10w+i—ii:=lis[i];END_REPEAT|;冈nURN(res);END_IF;啪_FUN∞I跚}(*变量定义:lis:(输入)要转换的表。low:(输入)规定输出数组所需的下标的整数。U:(输入)上标的整数。res:(输出)由输入数据生成的数组。4.6.30makearray_of-array该函数从一个表的表建立一个数组的数组。该函数首先检验规定的数组大小与表的大小是否相容,具体的说是检验全部子表包含元素个数相同。当输人数据与数组大小不相等时,则返回null。这个函数用于构造B样条曲面控制点与权因子数组。EXPREsS描述:*)FUNCTIONmake_array_of_array(iis:LIST[I:?]OFLIST[1:?]OFGENERIC:T;fowl,ul,low2,u2:ImⅢ衄R):ARRAy[fowl:u1]OFARRAy[1aW2:112]OFGENERIC:’;LCCALres:ARRAY[Iowl:u1]OFARRAY[10w2:112]OFGENERIC:2}ENDLOCAL;(*Checkinputdimensionsforconsistency*)IF(ul—lowl+1)()SZZEOF(1is)THENRETURN(?);END_IF;IF(u2一low2十1)()SIZEOF(Iis[1])THENRETURN(?);END_IF;(*Initialisereswithvaluesfromli8[1]*)res:=[1istto_array(1is[i3,low2,t12):(ui—lowl+1)] GB/T16656.42—2010nso10303—42:2003REPEAT1:22TOHIINDEX(1is);IF(u2一low2+1)()SIZEOF(1is[i])THENRETURN(");END_IF;res[10wl+11]:;list—to_array(1is[i],iow2,u2);END_RKPEAT;RETURN(res);END_FUNCTIAON;r*变量定义:lis:(输入)要转换的表的表。lowl:(输入)规定第一个输出数组所需要的下标的整数。u1:(输入)规定第一个输出数组的上标的整数。iowZ:(输入)规定第二个输出数组所需要下标的整数。u2:(输入)规定第二个输出数组上标的整数。res:(输出)检验相容后,由输人数据生成的带有规定大小的数组的数组。4.6.31make_array_of_array—of_array该函数从一个表的表的表建立数组的数组的数组。该函数首先检验给定数组的大小和表的大小的相容性,具体的说检验所有子表包含了正确的元素数目。当输人数据与数组大小不相等时,那么返回一个不确定地结果。该函数用于创建一个B样条体的控制点和权因子的数组。EXPRESS描述:*)FUNCTIONmakearray_of—array_of—array(1is:UST[1:?]OFLIST[1:?]OFLISTll7]OFGENERIC:7;lowl,ul,low2,u2,low3,u3:I矾EGER):ARRAY[Iowl:ui]OFfuRRAY[10w2:112]OFARRAY[10w3:u3]OFGENERIC:’;LOCALres:ARNAY[IowI:ui]OFARRAY[10w2:u21OFARRAY[10w3:113]OFGmNERIC:T;ENDLOCAL:(*Checkinputdimensionsforconsistency+)IF(ul—lowl+i)()SIZEOF(1is)THENETURN(?);END_IF;IF(u2一low2+1)<>SIZEOF(1is[I])THENRETURN(?);END_IF;(*Initialisereswithvaluesfromlis[il*)res:=[make_array_of—array(1is[1l,low2,u2,low3,u3):(ul—lowl+1)]REPEATi:=2TOHIINDEX(1is);IF(u2一lOw2+1)<)SIZEOF(Iis[i])THENRETURN(?);END_IF;res[10wl十i一1]:=makearray_of—array(1is[il,low2,u2,low3,u3);ENDREPEAT;RETURN(res);END_FUNCTION;(*变量定义:lis:(输入)要转换的表的表的表。110 GB/T16656.42—2010/ISO10303—42:2003lowl:(输人)规定第一个输出数组所需要下标的整数。ul:(输入)规定第一个输出数组上标的整数。low2:(输入)规定第二个输出数组所需要下标的整数。u2:(输入)规定第二个输出数组上标的整数。low3:(输入)规定第三个输出数组所需要下标的整数。u3:(输入)规定第三个输出数组上标的整数。res:(输出)检验相容后,由输人数据生成的带有规定大小的数组的数组的数组。4.6.32aboveplane该函数检验四个cartesian—point是否共面。若输入变量是二维的,那么将返回不确定的结果。若输人变量共面,那么的该函数将返回0。若这些点不共面,那么将返回第四个顶点与其他三个顶点构成的平面(P。,Pz,Pa)间的距离。负数表明第四个点在该平面的下方。点在平面上方意味着从该点看,P。,P。,P。呈逆时针排列。EXPRESS描述:*)FUNCTIONabove_plane(pl,p2,p3,p4:cartesian_point):REAL;LOCALdir2,dir3,dir4:direction:。dummy_gridirection([1.0,0.0,0o])}vai,mag:孤札;E皿IDcAI.:111(pldim()3)THENRETURN(?)}ENDIF;REPEATi:=1TO3;dir2direction_ratios[i]:=p2coordinates[i]一plcoordiruates[i];dir3.direction_ratios[il:=p3coordinates[i3一plcoordinates[i3;dir4direction_ratios[i]:=p4coordinates[i]一plcoordinates[i];mag:=dir4directionratios[i]*dir4direction_ratios[i];END_REPEAT;mag:=sqrt(mag);val:=mag”dot_product(dir4,cross—product(dir2,dir3)orientation);RETUP嘴(val);END_FUNCTION;(*变量定义:pl:(输入)用于测试的共平面的第一个cartesian_point。p2:(输入)用于测试的共平面的第二个cartesian—point。p3:(输入)用于测试的共平面的第三个cartesian—point。p4:(输入)用于测试的共平面的第四个cartesian—point。val:(输出)共平面测试的结果是0,则四个cartesian—point共面,否则,value的符号指明了p4是在p1,p2,p3组成的平面之上(正)还是之下(负)。4.6.33same_side该函数的功能是检验2个或更多点是否位于给定的三个点所组成的平面的同一侧。若输入变量是二维的,那么将返回不确定的结果,若结果是TRUE,则所有test—points位于plane—pts定义的平面的同侧;若结果是FALSE,则意味着并非所有的test—points在该平面的同一侧。ExPRESS描述:*、 GB/T16656.42—2010/IsO10303-42:2003FUNCTIONsameside(plane_pts:LIST[3:3]ofcartesian_point;testpoints:LIST[2:73ofcartesian_point):BOOLEAN;LOCALvall,val2:REAl.;n:INTEGER;END_LOCAL;IF(plane_pts[i]dim=2)oR(test_points[1]dim=2)THENRETURN(?);END_IF;n:=SIZEOF(test_points);vall::above—plane(plane_pts[i],plane_pts[2],plane_pts[3],test_pointsE1]);’REPEATi:=2TO“;val2:=above_plane(plane_pts[1],plane_pts[2],plane_pts[3],test_points[i]}IF(vail*val2<=00)THENRETURN(FALSE);END_IF;END_REPEAT;,RETURN(TRUE);ENDFUNCTION}(*变量定义:plane_pts:(输入)三个cartesian_point的列表,定义用于检验的平面。test—points:(输入)用于检验是否位于平面的同一侧的cartesian—point列表。result:(输出)检验结果,若所有点位于平面的同一侧,则TRuE;若一个或多个点位于平面上或平面的不同侧,则FALSE。EXPRESS描述:*、END_SCⅫ21Aj一一end衄衄哪schesaf*5拓扑下面的EXPRESS说明创建了topology—schema并标识了必要的外部引用。EXPRESS描述:*)SCHEMAtopology_schema;REFERENCEFROMgeometry_schema;REFERENCEFROMrepresentationschema(representationitem);f*注1:上面所引用的模式可在GB/T16656的下述部分中找到:geometry_schema--在本部分的第4章中。representation_schema--在GB/T16656.43中。注2:本模式的图示表示见附录D,图D.14~图D.16。5.1引言拓扑资源模型在边界表示法的实体建模中有它的基础,此外,还可以用于需用显式方法表示相连性的其他应用中。5.2基本概念与设定这里规定的vertex、edge等拓扑实体是独立于任何由它们构成的应用而定义的。每个实体都设置了最低限度的约束条件,任何附加的约束条件都应由使用的实体或由在使用该实体的确定的相关环境1】2 GB/T16656.42--20t0/Iso10303—42:2003中去规定,其用意在于避免对这个相关环境或实体构成的应用进行限制。拓扑实体用vertex作为本原实体并按层次方式进行定义,即全部其他拓扑实体都直接或间接地通过顶点去定义。每个实体都有它自己的约束集。高层实体可把约束施加到低层实体上。在较高的层上,低层实体的约束是高层与低层实体链中的每个高层实体所强施的约束之和。基本拓扑结构按复杂性递增的次序排列是vertex、edge、path、loop、face和shell。除connected—faceset的特殊子类型,即高层结构化拓扑实体open_shell和closed_shell外,拓扑段包括connected—edge—set和普通的connected—face—set。这两种实体用来进行拓扑数据集合的通信,其中对于壳使用约束是不适宜的。poly_loop是一个由直的并且共面的边构成的环,并被定义为一个有序点序列。poly—loop实体被用于多面的B—rep模型的通信。许多函数通过对实体应用拓扑与几何约束保证了拓扑模型的相容性。5.2.1几何联系许多拓扑实体都有特殊的子类型以使它们能够与几何数据相联系。在进行边界表示的实体模型的描述时,这种联系是重要的。vertex、edge和face的特殊子类型分别是vertex_point、edge—curve和face—surface。对于edge—curve和face_surface,相联实体的几何意义与拓扑意义问的关系也被记录下来,联系几何与拓扑的关键概念是域,point、curve、surface的域也恰为点、曲线和曲面。vertex、edge和face的域是对应的点、曲线和曲面;loop(除顶点环的情况外,因为那是一条曲线)和path的域是该loop、path中全部顶点和边的域的并,壳的域是壳中全部顶点、边和面的域的并(对于closed—shell或open—shel,这是一个曲面);实体模型的域是它占有的空间区域;集合或表的域是集合或表中元素的域的并。在本部分中的任何地方,一个几何概念,诸如连通性或有限性都是对一个实体来讨论的,这也可以理解成该概念适用于该实体的域。在域的描述中,一个重要的概念是流形,直观地说,当它与d维欧几里得空间局部无区别时,这个域是一个d维流形。这意味着每个数学点其维数都相同,且不允许自相交。按本部分的定义,曲线和曲面可以含自相交的,因此,未必是流形。然而,对应于拓扑实体域的曲线或曲面的某些部分(诸如边或面)却应当是一个流形。本部分中使用的术语“流形”、“边界”及“有边界的流形”与通常的数学定义相同。一个有边界的流形不同于一个流形,因为边界被允许(但不是必须)为非空。1维流形是一个非自相交的曲线,它不包括它的任何一个端点。1维流形的例子是实线和单位圆。一个“Y”字形图形不是1维流形,也不是闭单位区间。2维流形是一个非白相交的曲面,且不包括边界曲线。2维流形的例子包括单位球和开的“盘”{(z,Y,o);z2+y2(1)。闭的“盘”{(z,y,o):z2+y2≤1}不是一个流形。边和路径的域(如果存在的话)是1维流形,面和闭壳的域(如果存在的话)是2维流形。任何不自相交的曲线都是有边界1维流形}闭的“盘”{(z,y,o):z2+y2≤1}是一个有边界2维流形;一个开壳的域(如果存在的话)是一个有边界2维流形;流形实体的边界表示法或小面片流形的边界表示法的域是一个有边界3维流形。有界d维流形的边界是一个(d一1)维流形。例如,一个曲线的边界是该曲线中所含的0个、1个或2个端点的集合;闭“盘”{(z,y,0):,+y2≤1)的边界是一个单位圆;一个开壳域的边界是在该壳的环(即壳的洞的边界)集合的域;流形实体的边界表示法或小面片流形的边界表示法的边界是一个界定壳的集合的域。有边界流形的曲线和曲面可分成开的或闭的两类。术语“开的”和“闭的”在本部分中应用于曲线或曲面时,不应与点集拓扑学中的“开集”或“闭集”的概念相混淆。术语“闭曲面”等同于通常定义的封闭的、连通的、可定向的2维流形。例如球面和圆环面是闭曲面,闭壳的域(In果存在的话)是一个闭曲面。开曲面的例子一个无限平面是,或带有一个或多个洞的曲面。开壳的域(如果存在的话)是一个开曲面。1】3 GB/T16655.42—2010/ISO10303-42:2003所有实际上可出现的闭曲面都是可定向的。因为面的域总是可嵌入在平面内,因而是可定向的,开曲面不必是可定向的,例如,Mobius带就是一个开曲面。同样,按本部分的定义,某些流形既不是开的也不是闭的。Klein瓶即是一个例子,它是有限的且边界为空,但该曲面不能定向,因此它没有把空间分成两个区域。但本部分中的定义,一个开的壳的域必须是可定向的。术语“亏格”指的是一个整值函数,用于对一个实体的拓扑特性进行分类。本部分定义了两种不同的亏格。对于可能被描述为边和顶点图的实体,例如环、路径或线架壳,亏格等价于图论中的标准技术术语“循环秩”,而不等价于图论中术语“亏格”。直观地说,它度量一个图中独立循环的个数。例如,一个仅有一个顶点且该顶点到它本身被”个自环相连的图,有亏格”。一个闭曲面x的亏格是必须加到一个球面上的柄的个数,以生成一个与X同胚的曲面。例如,球面的亏格是0,圆环面的亏格是1。这等同于代数拓扑中的标准技术术语“曲面的亏格”。加一个柄到闭曲面上是一个操作,即在在由该曲面界定的3维立体上钻一个通孔。这可视为切出两个“盘”并用圆柱型管道将它们的边界相连。柄不应与孔相混淆,同样,在本部分中所使用的术语“孔”也不要混淆为在2D曲面上冲一个孔的直观概念。曲面的亏格定义按如下方式扩展到可定向的开曲面:在域中用“盘”填满每个孔,所产生的曲面是一个闭曲面,其亏格已在前面定义,开衄面的亏格就使用该数。5.2.2与参数空间几何的联系本章中的一个基本假设是所定义的拓扑都是模型空间中的拓扑。曲线与点的几何也可以在参数空间中定义,但是,一般地说,拓扑结构,例如在基曲面参数空间中的face的拓扑结构与它在模型空间中的是不同的。在用于联系几何与拓扑的方法上,参数空间建模系统不同于实空间系统。典型的参数空间建模系统把不同的参数空间曲线与每个边的使用(即orientededge)联系起来。与一个给定边相联系(通过边的使用方法)的每一个参数空间曲线都描述实空间中同样的点集。参数空间曲线在不同的参数空间定义。参数空间可以认为是支持邻接边的面的曲面。在一个流形实体中,每个edge的几何被定义两次,而邻接该edge的两个faces各定义一次。一条参数空间曲线与每个边的使用的联系可自然地扩展到退化边(即在实空间中长度为零的边)的使用。例如,一个参数空间建模系统可以把实空间中的一个三角形的面表示为参数空间中的一个正方形。一种直接的方法是把该三角形面的顶点之一表示成一个退化边(但具有两个顶点);然后在实空间和模型空间中有一个边之间的一对一的映像。退化边在实空间中为零长度,但在参数空间中其长度却大于零。退化边也可用于建立环绕诸如锥顶奇点的边界。实空间建模系统既不把参数空间曲线与每个边的使用联系起来,也不允许有退化边。由于用参数空间建模系统处理拓扑在实施上的便利,本部分要求使用实空间拓扑。参数空间建模系统的特殊信息需求通过使用几何层的技术去满足。5.2.2.1edge_curve与参数空间曲线的联系可用于参数空间曲线与edge—curve联系的技术是:a)edgecurve的edge_geometry属性可直接引用一条pcurve,这时,仅一条pcurve与这个edge—curve相联系。b)edge—curve的edge—geometry属性能引用一条surface—curve,或surface—curve的一个子类型,这样,与edge—curve相联系的是由surface—curve的associated—geometry属性引用的pcurve曲线(一或两条)。被surface—curve的eurve3d属性引用的曲线也与edge—curve相联系,但该曲线不可是参数空间曲线,它是edge的模型空间的几何。c)edge_curve的edge—geometry属性只能引用一条曲线(不是pcurve曲线),这样,与这个edge—curve相联系的是由每个surface—curve的associated—geometry属性引用的pcurve曲线(o条114 GB/T16656.42—2010/ISO10303-4212003或多条),而这些surface—Curve的curve一3d属性所引用的是和edge—curve的edge—geometry属性引用的相同(即实例等同,:一:)的曲线。这些技术在EXPRESS中形式地定义为edge—curve—pcurves函数,它们能够用于确定与一个特定的edge相联系的参数空间曲线。注1:对不需要用实空间建模系统来理解参数空间曲线的应用,参数空间建模系统仅需要使用上述的第三种技术。这样,即使忽略了pcurve曲线,实空间建模系统也会具有与所有edge—curve相联系的正确几何。注2:已知一个edge_curve的几条pcurve曲线,确定应与一条pcurve曲线相联系的oriented—edge是该pcurve的basissurface与由oriented—edge界定的面的facegeometry的匹配(:一:)问题。如果两条或多条pcurve与同一个edge_curve相关联,且定义在同一个曲面的参数空间中,则确定哪条oriented~edge与这条peurve相关联需要检验参数空间中这些pcurve的相连性。5.2.3图、循环与遍历一个图的连通部分是该图的一个连通子集,它不包含在任何更大的连通子集中。我们用M来表示一个图的重数,即连通部分的个数,这样,当且仅当M一1时,这个图是连通的。一个图的每一个部分都可能被完全遍历,开始与结束在同一个顶点,使得每条边恰好被遍历两次,每个方向一次,且每个顶点的“穿过”次数与使用该顶点的边数相同。如果把(边+边的遍历方向)作为一个单位,则在图的遍历中每个单一的(边+方向)的组合应出现一次且仅出现一次。在一个图的遍历过程中将会发现形成闭循环的顶点和(边+方向)单元是交替出现的一个或多个集合。符号G表示图的亏格,直观地说,这是在图中独立循环的个数。(按技术术语,G是图的基组的秩)。每个图都满足下述的欧拉方程:(口一£)一(M—G)一0式中:”和e是图中单一顶点和边的个数。注:下述图的遍历算法幔.可用于遍历一个图并计算M和G。a)M和G置为零。b)从任一个(未访问的)顶点开始,如果没有未访问的顶点则停止,标记访问过的顶点。M增值。遍历在该顶点上的任何边,并沿遍历方向标记该边。c)在通过边PQ而到达顶点Q之后,作下述处理:当第一次到达这个顶点时,则把刚刚遍历的边标记为该顶点的出现边。标志出现边以便它在这个方向上仅能选择一次。——标志该顶点为已访问顶点。一如果该边为第一次遍历且顶点Q以前曾访问过,则G增值。——按照下述规则从该顶点选择一条出边:(1)在离开顶点Q的方向上,不能选择那些先前被遍历过的边。(2)除了Q的出现边外,选择任何满足规则(c1)的边。(3)如果没有满足规则(c2)的边,则选择出现边。——遍历所选择的出边并用遍历方向标记它。d)如果在前一步骤中没有边被选择,则转到步骤b),否则转到步骤c)。5.3拓扑常■和类型定义5.3.1dummy_tridummy_tri常量是生成topological—representation—item类型时使用的一个部分实体定义。它提供正确的父型和空字串的name属性。EXPRESS描述:*)CONSTANT115 GB/T16656.42—2010/LSO10303-42:2003dummy_tri:topological—representation_item{=representation_item(”)Itopological—representation_item()‘ENDICONSTANT}(*5.3.2shellshell是构造较复杂模型时引用的,这个类型把具有壳特征的子类型集合到一起。shell是一个有确定维数(d一0,1或2)的一个连通对象,一般用于界定一个区域。一个shell的域(如果存在的话)包括它的边界,且04虽≤oo。维数为0的shell由一个单顶点构成的图表示,这个顶点没有任何相联的边。维数为1的shell是由一维的连通图表示的。维数为2的shell是由沿边连接的面构成的一个拓扑实体。它的域(如果存在的话)是一个连通的、可定向的、带有边界的2维流形,即是一个连通的、有向的、有限的、非自相交的闭的或开的曲面。EXPRESS描述:*)’TYPEshell=SELECT(vertex_shell,wire_shell,openshell,closed_shell)IEND_TYPE;(*5.3.3reversible_topology_item这个选择类型表示能够参与它们的逆方向运算的所有拓扑表示项。在conditional—reverse函数中使用。EXPRESs描述:*)TYPEreversible_topology_item=SELECT(edge,path,face,face_bound,closed_shell,open_shell);END_TYPE;(*5.3.4list_oLreversible_topology_item这个特殊类型定义一个可逆拓扑项表,在list_of_topology_reversed函数中使用。EXPRESS描述:*)TYPElist—of—reversible_topology_item=LIsT[o:?30freversi61etopology_item;END_TYPE;f*5.3.5set_of_reversible_topology—item该特殊类型定义一个可逆拓扑项集,在set_of_topology_reversed函数中使用。EXPRESS描述:*、TYPEseLof-reversible_topology_item=SETE0:?]ofreversible_topology_item;116 GB/T16656.42—2010/ISO10303-42:2003ⅫU—TYⅢ;f*5.3.6reversible_topology这个选择类型标识全部可逆拓扑的类型。在topology_reversed函数中使用。EXPRESS描述:*、TYPEreversibleltopology=SELECT(reversibletopology_item,list—ofreversible_topology_item,set—of—reversible_topology_item)oEND_TYPE;f*5.4拓扑模式的实体定义本条包含了拓扑模式中使用的全部实体定义。5.4.1topologicaLrepresentation_itemtopologcal—representaton_item表示构成一个实体表示的的拓扑或相连性。它作为拓扑模式中所有表示项的超类型出现。注I:作为representation_item的子类型,topologicaLrepresentation_item与geometric—representation—item之间存在内在的与/或关系。最佳的复杂例子如:edge_curve,face_sur{aee和vertex_point。注2:topologicaLrepresentation_item定义了一种loop和path之间的与/或关系,唯一有意义的复杂例子为edge_loop实体。EXPRESS描述:*)ENTITYtopological—representaiton_items哩砥F咖OF(O吼OF(v%rtex,edge,faCelbOUnd,face,verrex_shell,wire—shell,connected_edge_set,connected_face_set,(100pANDORpath)))SUBTYPEOF(representation_item);ENDENTITY;(*非形式限制:IPl:对于每一个topological—representation—item,都假定有直接或递归地由topological—representation_item所引用的vertex_shell、edge—curves和face—surface的集合(在这个集合中不包括有向边或面,而只是包括它们基于的无向边和面)。并且在该集合中,两个不同的元素不应具有相交的域。5.4.2vertex一个vertex是对应于一个点的拓扑结构。它是零维的且其大小量度也为零。vertex的域(如果存在的话)是一个m维实空间R”中的一个点,常用于vertex—point子类型。EXPRESS描述:*、EllTITYvertexSUBTYPEOF(topological—representation_item);END_ENTITY}(*非形式限制:IPl:vertex的维数为零,这是顶点的基本特性。IP2:vertex的大小量度定义为零。1】7 GB/T16656.42—2010/ISO10303—42:20035.4.3vertex_point顶点是一个它在几何定义上的点。EXPRESS描述:”)ENTITYvertex_pointSUBTYPEOF(vertex,geometric—representation_item);vertex_geometry:point;END_ENTITY;(*属性定义:vertex_geometry:定义顶点在几何空间中位置的几何点。非形式限制:IPa:vertex的域形式上定义为它的vertex_geometry的域。5.4.4edgeedge是连接两顶点的拓扑结构。更抽象地说,它可以代表两个顶点间的一种逻辑关系。edge的域(如果存在的话)是R”中一条有限的、非自相交的开曲线,即一个连通的一维流形。edge的边界为两个顶点,它们未必是不同的。Edge由从第一顶点到第二顶点的遍历方向来定向。如果两顶点相同,则该edge是一个自环。edge的域不包括边界且0polyloop_type)THENRETURN(TRUE);ENDIF;END_REPEAT;RETURN(FALSE);END_FUNCTION;(*属性定义:l:(输入)要确定一个loop集是否为poly—loop和其他类型环的混合环的集合。5.5.20list_to_set该函数从一个LIST建立一个SET,SET中元素的类型应与原LIST中的类型相同。EXPRESS描述:*)142 GB/T16656.42—2010/ISO10303—42:2003FUNCTIONlisttoset(1:LIST[0:?]OFGENERIC:T):SETOFGENERIC:TLOCAL8:SEToFGERERTC:T:=[];END_LOCAL;REPEATi:=1TOSIZEOF(1)8:=s+l[i];ENDREPEAT;RETURN(s);END_FUNCrION;(*属性定义:i:(输人)要转换成集合的元素表。S:(输出)对应于1的集合。5.5.21edge_curve_pcurves该函数返回与edgecurve(即表示边曲线的几何)相联的pcurves集。EXPRESS描述:*)FUNCTIONedge_curve_pcurves(an_edge:e由e_curve;the—surface_curves:SETOFsurfacecurve):SETOFpcurve;LOCALa_curve:curve;result:SETOFpcllrvelthe_geometry:LIST[I:2]OFpcurveorsurface;END_LOCAL;a_curve:5an_edgeedge_geometry}result:=Lj;IF’GEOMETRY_SCHEMAPCURVE’INTYPEOF(a_curve)THENresult:=result+acurve;ELSEIF’GEOMETRYSCHEMASURFACE_CURVE’INTYPEOF(a_curve)THENthe_geometry:2a_curve\surface_curveassociated_geometry)REPEATk:21TOSIZEOF(the—geometry);IF’GEOMETRY_SCHEMAPCURVE’INTYPEOF(the—geometry[k])删忸Nresult:=result+the—geometry[k];ENDIF;END_REPEAT;ⅡsEREPEATj:=1TOSIEEOF(the_surfacecurves);the_geometry:=the_surface—curves[j]associated_geometry)IFthe_surfacecurves[j]curve_3d:=ja_curveTHENREPEATk:21TOSIZEOF(thegeometry);工F’GEOMETRY_SCHEMAPCURVE’INTYPEOF(the_geometry[k])THENresult:=result十the_geometry[k];END_IF;ENDREPEAT;END_IF;ENDREPEAT;ENDIF:143 GB/T16656.42—2010/LSO10303—42:2003瑚玎【JRN(RESULT):END_FUNCTION;(*属性定义:an—edge:(输入)要建立相联的pcurves的edgecurve。the—surface_curves:(输入)在pcurves检索范围内的全部surface—curves的集合。result:(输出)与an—edge相联的所有pcurves的集合。5.5.22vertex—point_pcurves该函数返回与一个vertex_point(即表示一个顶点的几何)关联的pcurves的集合。EXPRESS描述:*、FUNCTIONvertex_pointpcurves(a_vertex:vertex_point’the_degenerates:SETOFevaluated_degenerate_pcurve):SETOFdegeneratepourve}LOCALa_point:point;result:SETOFdegeneratepourve;END_LOCAL;a_point;2a_vertex.vert吼ge∞etry}result:=LJ;IF’GEOMETRYS(】IEMADEGENERATE_PCURVE’INTYPEOF(apoint)THENresult:=result+a_point;ELSEREPEATJ:=1TOSIZEOF(the_degenerates)lrF(thedegenerztes[j]equivalent_point:=:a_point)THEMresult:=result+the_degenerates[j3;END_IF}END_REPEAT;ENDIFlRETURN(RESULT);END_FUNCTl0N:(*属性定义:a_vertex:(输入)要建立相联的pcurves的vertex_point。the_degenerates:(输入)pcurves检索范围内的全部evaluated—degenerate—pcurve集合。result:(输出)与a—vertex有相同几何的所有degenerate_pcurve的集合。EXPRESS描述:*)口iD—Sa也MA;一endTOPOLOGYschema(*6几何模型下面的EXPRESS声明创建了geometric—modeLschema,并标明了必要的外部引用。EXPRESS描述:*、SCHEMAgeometric_model—schema;REFERENCEFROMgeometry_schema;REFF2/NCEFROMtopology_schema;144 GB/T16656.42—2010/ISO10303—42:2003REFERENCEFROMmeasure_schema(1engtb_me黜e,parameter_valueplane_angle_measure,plane_angle_unit,positive_lengthm啦sure,positive_plane_angle—measure);REFACEFROMrepresentation_schema(founded_item,representationitem)(+注I:上述应用的模式可在GB/T16656下列部分中找到。geometry_schema16656本部分第4章topology_schema16656本部分第5章measureschema16656.41representation_schema16656.43注2:本模式的图示表示见附录D,图D.17~图D.20,6.1引言geometric_mode模式是描述对象大小、位置和形状的数据的通信所必需的基本资源的集合。soild—model子类型提供描述三维实体对象精确大小和形状的用于数据通信的基本资源,其包括两种经典类型的实体模型:构造实体几何(CSG)和边界表示法(B-rep)。在这一章中还包括一个实体的集合,与完备的CSG或B-rep模型相比,它们提供的几何与拓扑信息不太完整;这些实体可供其能力不同于实体建模系统的那些系统进行通信时使用。在这个模式中,实体从soild_model超类型及其各子类型开始按照一个逻辑顺序排列。这些子类型包括不同的边界表示(B-rep)和CSG实体的类型。在这些soild-model的子类型之后,表面模型实体被一起分组,随后才是线框模型和几何集合。6.2基本概念和设定构造实体几何(CSG)模型用它们的基本构件和在它们的构造过程中使用的一系列布尔运算(union、intersection或difference)来表示。标准的CSG构件是cone、eccentric—cone、cylinder、sphere、torus、block、right—angular_wedge、ellipsoid、tetrahedron和pyramid。这些构件按它们的最终位置与方向给以定义,一组二维基本构件也被包含进来用于二维CSG实体的构建。对布尔运算逻辑顺序进行表示的实体是Boolean_resuh,它有一个运算符和两个运算项。因为运算项本身又可以是布尔结果,因此,它能够嵌套运算。除CSG体素外,任何实体模型,包括swept_solids和half_space_solids,都可能是布尔运算项。扫成实体swept—area_solid和swept—face—solid两种类型。扫成实体通过拉伸或扫描一个可以带有洞的平面得到。halLspacesolids实质上可定义为在曲面一侧的半无限实体,它可通过box—domain进行限定,halLspace_2d等同于二维实体,它代表着一个曲线一侧的区域。B-rep模型用定义它们的内外部边界的壳集合来表示。约束条件保证了相关联的几何的明确定义,和模型中顶点、边、面、环和壳的个数相关的欧拉公式是被满足的。faceted—brep被限制用来表示B-rep,其中B-rep所有的面是平面且每一个环是poly_loop。solid_replica实体提供在一个新位置上拷贝已有实体的机制。shell_based——surface..model、face_based_surface_model、shell..based..wireframe_model、edge—.based—wireframe_model、geometric—set和geometric—curve—set实体不强制要求manifold—solid—brep的完整性检查,且能够适用于不完整的模型或非流形对象(包括二维模型)的通信。6.3几何模型模式的类型定义6.3.1booleanoperand这个选择类型标识全部可参与布尔运算以形成CSG实体的实体类型。包括标识一些特殊的二维“实体”,如带有2D运算项的布尔运算可标识二维空间里弧式连通的有限域。EXPRESS描述:145 GB/T16656.42—2010/ISO10303-42:2003*、TYPEbooleanoperand=SELECT(solidmodel,half—space_solid,csgpriNltive,booleanresult.half—space2d);END_TYPE;(*6.3.2boolean_operator这个类型定义了三个用于CSG实体定义中使用的布尔算子。EXPRESS描述:*JTYPEbooleanoperator=ENUMERATIONOFtunlon,intersection,difference);ENDTYPE;f*枚举项定义:union:构造由两个实体定义的立体的正则集合论的并运算。intersection:构造由两个实体定义的立体的正则集合论的交运算。difference:由两个实体定义的立体间的正则集合论的差运算。6.3.3csg_primitive这个选择类型定义可参与布尔运算的CSG体素的集合。3维CSG体素包括sphere、ellipsoid、right.—cireuat_cone,eccentric.—cone,right.—circular_cylinde,torus、block,faceted.—primitve?rectangular.—pyramid及rght—angular—wedge。2维CSG体素就是可以与其他2维实体参与布尔运算的所有类型的primitive——2d。EXPRESS描述:*1TYPEcsg_prlmitive2SELECT(sphere,ellipsoid,block,right_angular_wedge,faceted_primitive,rectangular_pyramid,torus,right—circular_cone,eccentriccone,right—circular_cylinder,cyclide—segmentsolid,primitive2d);ENTO_TYPE;(*6.3.4esg_select这种类型标识了可选作CSG树的根的实体类型,其中单个CSG体素也作为它的一种特殊情况。EXPRESS描述:*)TYPEcsg_select=SELECT(boolean_result,146 GB/T16656.42—2010/lso10303-42:2003csg_primitive);END_TYPE;(*6.3.5geometrie_seLselect这个选择类型标识能够在一个geometric—set中出现的实体类型。EXPRESS描述:*、TYPEgeometric—set—select=SELECT(point,curve,surface);END_TYPE;*、6.3.6surface_model该类型集中了全部可能的表面模型实体。某些产品模型的表示是由表面的集合构成的,其未必形成一个实体的完整边界。因此,一个模型可能由faces或shells的集合来表示。EXPRESS描述:*)TYPEsurface_model=SELECT(shell—based_surface_model,face_basedsurface_model);ENDTYPE;(*6.3.7wireframe_model该类型集中全部可能的线框模型实体。一个几何模型的线框表示仅包含有关相交表面形成边界的信息,而不包含表面本身的信息。EXPRESS描述:+)TYPEwireframe_model=SELECT(shell—base止wireframe_model,edge_basedwireframe_model);ENDTYPE;(*6.4几何模型模式的实体定义在solid—model—schema中使用了下述实体。6.4.1solid_modelsol/d_model是产品名义形状的完整表示,其内部的点都是相连起来的。任何一点都可分类成一个实体的内点、外点或边界点。在二维空间中,solid—model的表示有若干不同的类型。如作为二维空间连通域的“实体”。EXPRESS描述:*)ENTITYsolid_modelSUPERTYPEOF(0NEOF(csg—solid,manifoldsolid-brep,swept—facesolid,swept_area_solid,swept—disk-solid,solid_replica,brep一2d,trimmedvolume))SUBTYPEOF(geometricrepresentation_item)。END_ENTITY;(*147 GB/T16656.42--2010/ISO10303-42:20036.4.2manifoldJolid_brepmanifoldsolidbrep是由一个或多个曲面界定的、有限的、弧式连通的立体,每一曲面都是连通的、有向的、有限的、封闭的二维流形。在这个立体中通孔的个数没有限制,空腔的个数也没有限制。流形实体的边界表示(B-rep)利用边和顶点的图嵌入到连通的、有向的、有限的、封闭的二维流形中。嵌入的图把该曲面分为称为面的弧式连通区域。因此,这些边和顶点构成面的边界,且面域不包括它的边界。嵌入的图可以是不连通的也可以是一个伪图。图都an上标记,即图中的每个实体都有唯一的标志。用于规定一个面几何的几何曲面应当定义为在该面的域内的可嵌入平面的二维流形,换句话说,它应当是连通的、有向的、有限的、非白相交的,且曲面的亏格为零。面除沿着它的边界外是不相交的。沿着面边界的每个边至多被该面族中的另外一个面所共有。在B-rep中的边族,除在它们的边界(即顶点)也不相交,用于规定边几何的几何曲线的定义应是弧式连通的并且在边域内不应自相交或重叠。边几何与由它形成部分边界的面的几何应是相容的。用于定义顶点的几何应与由它形成部分边界的面和边的几何是相容的。一个B-rep应由一个或多个分离的closed-shell表示。一个外壳可以完全包围全部其他壳,除此之外,其他壳不可以包围一个壳。由brep_withvoids子类型定义带有一个或多个内部空隙的B-rep较为方便。下列形式的欧拉方程应被满足:Z。一口一£+2f—cf一2(S--G’)一0⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯(10)式中,口、e、f、£,和s是在该模型中单一顶点、边、面、面边界和壳的个数,G是各壳的亏格之和。更确切地说,拓扑实体应遵从下列约束条件,其中B表示一个流形实体B-rep;——各壳应是唯一的。(B)Es]一(B){S}——在B-rep中的每个面是唯一的。((B)[s])[F]一((B)[s]){F}——每个环是唯一的。(((B)[s])[F])[L]一(((B)[s])[F]){L)——每个(边+逻辑)对是唯一的。((((B)[s])[F])[L])[E,]一((((B)[s])[F])ILl){E,)——在B-rep中的每个边或仅被两个环使用,或被一个环使用两次。l((((B)[s])[F])ILl){E。)I一2I((((B)[s])[F])ELI){Ez)I也就是说,在表((((B)[s])[F])ELI)[E]中,每个边恰出现两次。——方程(10)应被满足:2I(B)[s]l一2∑G‘一I(((((B)[s])[F]){L。)){E}){V)I+I((((B)[s])[F]){L。)){V)I—l((((B)[s])[F]){L)){E}f+2f((B)[s])[F]|一l(((B)[s])[F])ILl{在边界上的每一点的B-rep拓扑法方向是背向实体的曲面法方向。closed—shell的法向应与B-rep的拓扑法向一致。manifold—solid-brep有两个子类型,即facetedbrep和brep—with-voids,它们存在有一个缺省的与或关系。例示如下:——manif01d-solid—brep。——brep_with—voids——facetedbrep——faceted—brepANDbrep_with_voidsExPRESS描述:。*)ENTITYmanifold_solid_brepSUBTYPEOF(solid_model);outer:closed_shell;】48 GB/T16656.42—-2010/tSO10303-42:2003ERD_F24TITYlf*属性定义:outer:定义实体边界的closed_shell。该壳的法向应背向实体的内部。非形式限制:IPl:manifold_solid—brep的维数应为3。IPZ:manifold_solid—brep的量值应是有限的且非零。IP3:由manifold-solid—brep引用的vertex—point、无向edge—curve(即其边不是一个oriented—curve)、无向face_surface(即其面不是一个oriented—face)不能与被同一个manifold-solid_brep引用的任何其他vertex_point、无向edge—curve或无向face_surface相交。IP4:同一个面引用的不同loop不应具有公共vertex。注:这意味着同一个面的不同环不具有公共边。如果其几何存在,则同一个面的不同环是不相交的。IP5:manifold—solid—brep的全部拓扑元素都应有已定义的相联几何。IP6:壳的法向应与B-rep的法向一致,且背向B-rep所表示的实体。IP7:每一个面仅能被manifold—solid—brep的壳引用~次。IP8:在manifold—solid—brep中的oriented—curve都应仅被引用一次。IP9:在manifold—solid—hrep壳的面中,每个无向边都恰被环引用两次。IPl0:边界表示应满足欧拉方程,其中,对于B-rep的壳来说,壳亏格是各亏格值之和。IPll:manifold-solidbrep不是一个faceted-brep,不应引用poly_loop。IPl2:faceted_brep仅能引用poly_loop作为面的边界。6.4.3brep_with_voidsbrep—with_voids是manifoldsolid—brep的一种特殊子类型,在它的内部包含有一个或多个空隙。这个空隙用oriented~closed—shell来表示。oriented—closed—shell的法向指向空隙,其oriention为FALSE。manifold—soild-brep也可能是一个facetedbrep。ExPRESs描述:*)ENTITYbrep_with_voidsSUBTYPEOF(manifoldsolidbrep)}voids:SET[I:?30rorientedclosed_shell;ENDENTITY;r*属性定义:SELF\manifold—solid—brep.outer:定义实体外部边界的一个oriented—closed—shell。其法向方向背离实体内部。voids:在实体内定义空隙的oriented_closed-shell的集合。该集合可含有一个或多个壳。非形式限制:IPI:每一个空隙壳应与外壳及每个其他空隙壳相分离。IP2:每个空隙壳都应包含在外壳之内,但不在任何其他空隙壳之内,具体地说,外壳不在空隙壳集合内。IP3:每个在manifold_solid—brep中的壳仅应被引用一次。6.4.4faeeted_brepfaceted_brep是边界表示模型的一种简化形式,在这种模型中所有的面都是平面且所有的边都是直线段。注:引人faceted—brep是为了支持大量仅采用小平面边界表示模型的系统。manifold—solid_brep可以表示faceted—brep,但是用facetedbrep表示小平面模型则数据更小巧。149 GB/T16656.42—2010/[SO10303-42:2003与B—rep模型不同,在此模型中,边和顶点不是显式表示的,但可以通过poly—loop实体得到。faceted—brep必须满足与manifold—solid—brep同样的拓扑约束条件。EXPRESS描述:*)ERTITYfacetedbrepSUBTYPEOF(manifoldsolidbrep);END_ENTITY;(*非形式限制:IPl:在faceted—brep中所有壳的、所有面的、所有边界环都应是poly—loop类型。IP2:在壳中的面可具有隐式或显式的曲面几何。如果是显式的,则面曲面应是平面。定义该面的所有多边环都应是共面的。6.4.5hrep-2dbrep一2d是通过面定义的有界二维空间域。任何二维点可以归类为在brep一2d的里、外、或边界上这三种情况。brep一2d应有一条外边界,也可能有一些孔。EXPRESS描述:*)ENTITYbrep一2dSUBTYPEOF(solidmodel);extent:face;W}mREWRI:SIZEOF([’TOPOLOGY—SCHEMAFACE_SURFACE’,’TOPO[/>:YSCHF24ASUBFACE’,’TOPOLOGY_SCHEMA0RIENTED_FACE’]*_IPfPEOF(SELFextent))=0;WR2:SIZEOF(QUERY(bnds(*extentboundsNOT(’TOPOLOGY_SCHEMAEDGE_IX】lDP’INTYPEOF(bnds.bound))))=0;WR3:SIZEOF(QUERy(bnds(*extentbounds’TOPOLOGY_SCHEMAFACE_OUTER_BOUND’INTYPEOF(bnds)))=1;WR4:SIZEOF(QUFⅪ(elp_fbnds(*QUERY(bnds(*extent_bounds’TOPOLOGY_SCHEMAEDGE_L00P’INTYPEOF(bndsbound))1NOT(SIEROF(QUERY(oe(*elp_fbndsbound\pathodgelist}NOT((’TOPOI/3GYSCHF帆FI)GE_CZJRVE’INTYPEOF(oeedge_element))ANDfoeedge—element\geometric—representation_itemdim=2))))=0)))=0;END_ENTITY;(*属性定义:extent:这个平面定义了由brep_2d形成的二维空间。形式限制:WRl:extent不是face—surface、surface、oriented—face等类型。WR2:用于定义extent的每一个face—hound都应是edge—loop的类型。WR3:face的其中一条边界应是{ace_outer_bound类型。WR4:用于定义边界的每一条edge应是二维的且是edge—curve的类型。6.4.6csg_solid由体素实体组合而成并进行适当的正则布尔运算的,表示成一个CSG模型的一个实体称为csg—solid。所允许的运算有交、并、差。作为一种特殊情况,csg—solid也可能由单个的CSG体素构成。一个空间的正则子集是它的内部的闭包,这个短语可按点集拓扑学中的意义加以解释。对于boolean_resuh,正则化具有消除由原先运算所产生的悬挂边和其他异常状况的作用。CSG实体的完整定义需要两类信息:几何的和结构的。]50 GB/T16656.42—2010/iso10303-42:2003几何信息由solid—model传递,典型地是体素立体,诸如圆柱、楔、延拓体等,且可能包括一般的Brep模型。solid—model也可以是solid—replicas和halLspace—solids。结构信息是在boolean—result和CSG实体的实体树中(严格地说,是非循环有向图),其表示构造实体的“方法”。末端节点是几何体素和其他实体。确切地说,每个csg—solid都有一个与它相联的boolean—result,它是定义该实体的树的根(在树中可以有更深一层的boolean—result作为运算项)。csg~solid是通过相关联的树来定义的实体,因此,它自身就是一个有意义的对象,并且按照这方法,它区别于在构造过程中表示中间结果的其他boolean—result实体。EXPRESS描述:*)ENTITYcsg_solidSUBTYPEOF(solid_model);tree_root—expresslon:csg_select{ENDENTITY;(*属性定义:tree—root—expression:描述该实体的体素与正则运算符的布尔表达式。这里显式地给出了布尔表达式树的根作为一个boolean_resuh实体或作为一个csg_primitive。6.4.7boolean_resultboolean_resuh是在两个实体上建立一个新实体的正则运算结果。有效的运算是正则并、正则交、正则差。为了进行布尔运算,一个实体被当成是一个正则点集。最终的boolean—result取决于它的运算符和两个运算项。在差运算符的情况下,运算项的次序是重要的。运算符可能是union、intersection、difference,其作用描述如下:union:两个实体的并是一个新的实体,其包含在first—operand或second—operand或在两者中的全部点。intersection:两个实体的交是一个新的实体,其全部点的集合的正则化既在first—operand、又在second—operand中。difference:在两个实体上差运算的结果是在first—operand中,但不在second—operand中的全部点的集合的正则化。注:例如,当{irst_operand是一个长方体,secondoperand是一个尺寸和位置适当的一个实圆柱体,则用差运算符所生成的boolean_resuh将是一个带有一个圆洞的长方体。EXPREsS描述:*)EiCPITYboolean_resultSUBTYPEOF(geometric—representation_item);operator:boolean_operator;firstoperand:booleml_operand;second_operand:booleanoperand;ENDENTITY;(*属性定义:operator:在运算中产生布尔结果所使用的布尔运算符。first—operand:为该运算所规定的第一个运算项。second—operand:为该运算所规定的第二个运算项。6.4.8blockblock是一种直角形的平行六面体实体,用局部坐标系来定义。block的长z、宽J和高z分别对应局部坐标系的三个轴,其一个顶点位于局部坐标系的原点。 (m/T16656.42--2010/IS010303-42:2003EXPRESS描述:*)KlcrITYblockSUBTYPEOF(geometric—representation_item);position{axis2一placement_3d;X:positivelength_measure;Y:positive_length_measure;Z:positive_length_measure;END_ENTITY;(*属性定义:position:原始轴系的方向和位置。block的一个顶点位于position.10cation,它的边与坐标轴的方向相同。一z:沿x轴block的尺寸,(position.pEl])。y:沿y轴block的尺寸,(position.p[23)。z:沿z轴block的尺寸,(position.pC3])。6.4.9right_angularwedgeright—angular_wedge可以想象成一个块被垂直于块的一个平面的切丽形成的。它由局部坐标系定义。其三角面(或梯形面)是由z轴和y轴来定义的,此面是由沿着z,,轴的正方向的z和Y的长度规定,若1tx非零,则它的hx(其与原点距离为y)与z轴平行,y是连着z轴与ltx线段端点。楔形的其他面是由沿着z轴的2坐标描述,其表示梯形或三角形的拉伸长度。若ltx=O,楔形有五个面,否则,有六个面。注:属性的解释见图22。locahonp[Hpositionattributes图22正角楔形和它的属性EXPRESS描述:*)ENTITYright_angular_wedgeSUBTYPEOF(geometric_representation_item)2position:axis2一placement-3d;1:poSitive_length_measure;t:positive_length-measure;z:positive_lengthmeasure;ltx:length_measllre;NHERKw砒:((00(=itx)AND(itx(x));END_ENTITY;f*152 GB/T16656.42—2010/ISO10303-42:2003属性定义:position:轴系与其正方向的原始位置。楔形有一个顶点和一条边分别是与position.10cation和一条轴相重合的。z:表示楔形沿x轴的长度。y:表示楔形沿y轴的长度。z:表示楔形沿z轴的长度。hx:楔形的水平面沿x轴正方向的长度。形式限制:WRl:hx非负且小于z。6.4.10rectangular_pyramidrectangular_pyramid是底部为直角的锥型实体。锥体的顶点位于底部中央的正上方。rectangular—pyramid由长、深、高定义了一个坐标系统。EXPRESS描述:*、ElfTITYrectangular_pyramidSUBTYPEOF(geometric_representation_item);position:axis2一placement_3d;xlength:positive_length_measure;皿ength:positive_length_measure;height:positive_length_meBsure!ENDENTITY;(*属性定义:position:锥体的方向和位置,position定义了它的一个坐标系统,锥体底部的position.10cation有一个角,底部的边都与坐标的前两根轴的正方向一致。xlength:沿着x轴测量底部的长度,(position.“1])。ylength:沿着y轴测量底部的长度,(position.p[2])。height:沿着z轴测量锥体底部正上方顶点的长度,(position.p[3])。6.4.11faeetedprimitivefaceted—primitive是平面CSG体素的一种类型。它是由四个或更多的顶点表来定义的,这些顶点不能共面。EXPRESS描述:*、ENTITYfaceted_primitireSUPERTYPEOF(ONEOF(tetrahedron,convex_hexahedron))SUBTYPEOF(geometric_representation_item);points:LIST[4:73OFUBIQUBcartesian_point;ⅧⅢⅡWRI:points[1]dim=3;END_ENTITY;(*属性定义:points:即cartesian—point,它们是faceted—primitive的顶点。形式限制:WRl:pointsEl]的空间维数应该是3。注;compatihle_dimension原则确保了实体上的cartesianpoint有相同的维数。非形式限制:153 GB/T16656.42--2010/IS010303—42:2003IPl:points表中的点不应该共面。1P2:points与平面一起应该定义的是一个封闭的实体。注1:points表本身不能完全定义一个封闭的实体,如要完全定义,该体素要通过其子类型进行表示。注2:非形式限制的形式限制在子类型中出现。6.4.12tetrahedrontetrahedron是一个CSG体素,它有四个顶点和四个三角形面。tetrahedron由四个顶点来定义的,但这四个顶点不能共面。EXPRESS描述:*)F2qTITYtetrahedronSUBTYPEOF(faceted_primitire);WHEREWRI:SIZEOF(points)=4;WR2:aboveplame(points[1],points[2],points[3],points[4])()00;ENDENTITY;(*属性定义:points:即cartesian—point,是tetrahedron的顶点。形式限制:WRl:points表包括四个cartesian_point。wR2:这些points不共面。其检验准则是:其中三个点位于同一平面,第四个点要么在该平面的之上,要么在之下。6.4.13convex_hexahedrollconvex_hexahedron是一个CSG体素,它由八个顶点六个平面构成,convex—hexahedron由八个顶点来定义的。EXPRESS描述:*)ENTITYconvexhexahedronSUB恤EOF(facet目/_prmitive);WHEREWRl:SiZEOF(p日ints)=8;WR2:above—plane(points[1],points[2],points[3],points[4])=00;’WR3:aboveplane(points[53,points[B],points[7],points[6])=00;WR4:doveplane(points[1],points[4],points[8],points[5])=00;wR5:aboveplane(points[4],points[3],points[7],points[8])=00;WR6:i{oove_plane(points[3],points[2],points[6],point47])=00;WR7:a】oove_plane(points[1],points[5],points[6],points[2])=00WR8:same—side([points[1],points[2],points[3]],[points[5],points[6],points[7],points[8]]);WR9:same—side([points[1],points[4],points[8]],[points[3],points[7],points[6],points[2]]);WRl0:saIne_side([points[1],points[2],points[5]],[points[33,points[7],points[8],points[4]]);WRII:same_side([points[5],points[6],points[7]],[points[1],points[Z],points[3],points[4]]);WRl2:saIne—side([points[3],points[7],points[6]],[points[1],points[4],points[S],points[5]]);MRl3:sameside([points[3],points[7],points[S]],[points[1],points[5],points[6],points[2]]);END_ENTITY}154 GB/T16656.42—2010/Is()10303-42:2003‘*属性定义:points:即cartesJan—point,它们是convex—hexahedron的顶点。这些点是分别编号如下:points[I],points[Z],points[a],points[4],从实体的外部看,它们成逆时针排列,定义实体的一个平面。points[5],points[6],points[7],points[8]定义了与前一个平面相对的面,每一个点都与相对的前一个平面上的相应点通过一条边相连,即points[5]与points[1]通过一条边相连,points[6]与points[Z]通.过一条边相连,以此类推。注1:关于面和顶点的更多信息见图23。形式限制:wRl:points表包括8个cartesian_point。WR2:起始的四个points共面。WR3:终止的四个points共面。WR4:points[1],points[4],points[8],points[5]共面。WR5:points[4],points[3],points[7],points[8]共面。WR6:points[3],points[2],points[6],points[7]共面。WR7:points[1],points[5],points[6],points[2]共面。WR8:points[5],points[6],points[7],points[8]位于points[1],points[Z],points[a]形成的平面的同一侧。WR9:points[3],points[7],points[6],points[2]位于points[1],points[4],points[8]形成的平面的同一侧。WRl0:points[4],points[3],points[7],points[8]位于points[1],points[Z],points[5]形成的平面的同一侧。WRll:points[I],points[2],points[a],points[4]位于points[5],points[6],points[7]形.成的平面的同一侧。WRl2:points[1],points[4],points[8],points[5]位于[points[a],points[r],points[6]形成的平面的同一侧。WRla:points[1],points[5],points[6],points[Z]位于points[S],points[r],points[8]D成的平面的同一侧。注2:最后的六个准则确保了这些点形成一个凸图。图23凸六面体6.4.14spheresphere是一通过球心和半径定义的球形CSG体素。EXPRESS描述:*、ENTl7"/spherepoints[73points[3] GB/T16656.42—2010/iso10303-42:2003SUBTYPEOF(geometric_representation_item);radius:positive_length_measure;centre:point;END_ENTITY;r*属性定义:radius:sphere的半径。centre:sphere的中心位置。6.4.15right_circular_coneright—circular—cone是一个可以截头的圆锥形CSG体素。它通过一个轴、在该轴上的一个点、锥半角及沿该轴负方向从该点到锥底给出的距离来定义。此外,当锥顶非零时,要给出其半径,以确定该圆锥截头面的大小和位置。EXPRESS描述:*1ENTITYright—circular_coneSUBTYPEOF(geometricrepresentationitem);position:axisl—placement;height:positive_length_measure;radius:he“gth_Beasure;se/aiangle:planelangle_measure;W脚£REwRlradius)=00lEND_ENTITY;f*属性定义:position:轴上点的位置和轴的方向。position.10cation:在锥轴上且在平面圆面之一上的一个point,当该圆面半径为零时,该点为顶点。position.axis:圆锥对称的中心轴的方向。如果被截取,轴的方向由顶面中心指向实体外,或者当radius为零时,轴的方向由顶点指向实体外。height:当radius大于零时,为圆锥两平面圆面间的距离;当radius等于零时,为圆锥底面到顶点的距离。radius:在轴上一点处(position.10cation)圆锥的半径。当该radius等于零时,该圆锥以该点为顶点;当该radius大于零时,该圆锥为截头的。semi—angle:这是轴与锥面母线间的夹角,它是圆锥顶角的二分之一。形式限制:WRl:radius应为非负的。非形式限制:IPl:semi—angle应在O。~90。之间。6.4.16rightcircular_cylinderright—circular—cylinder是一个有限高度的实圆柱形CSG体素。它通过在一个平面圆面中心处的轴上的点、轴、高度和半径来定义。圆面垂直于轴且带有规定的半径;高度是按轴的正向从第一个圆面中心到第二个圆面中心的距离。EXPRESS描述:*1ENTITYright_circular_cylinderSUBTYPEOF(geometricrepresentation_item);position:axisl—placement;156 GB/T16656.42—2010/ISO10303-42:2003helght:positive_length-measure;radius:positive_length_measure;END_ENTITY;f*属性定义:·position:轴上一个point的位置和轴的方向。position.10cation:在圆柱轴上和在平面圆面中心的一个point。position.axis:圆柱对称的中心轴的方向。height:圆柱两个平面圆面间的距离。radius:圆柱的半径。6.4.17eccentric_coneeccentric_cone是right—circular—cone衍生而成的CSG体素。eccentric—cone的横截面可能是椭圆,它的中心轴可能不垂直于底面。它依赖于被切去顶点的ratio的大小,它或以圆柱的形式存在,当eccentric—cone的上下面平行时其横截面与底面相似。EXPRESS描述:*)ENTITYeccentric_coneSUBTYPEOF(geometric_representation_item);position:axis2一placement_3d;semi—axis—l:positive_length-E电slire;semi—axis2:positive_length-B(扭surelheight:positive_length_measure;x_offset:length_measure;y_offset:length-mt±astzre;ratio:REAL;WHEREWRl:ratio>=00;ENDEgfITY;f*属性定义:position:轴上中心点的位置和semi—axis一1的方向,定义了eccentric—cone的中心和底面。position.p[33垂直于eccentric_cone的底面。semi—axis_l:position.p[1]方向上的锥体底面第一半径的长度。semi—axis一2:position.p[23方向上的锥体底面第二半径的长度。height:沿position.p[33方向上测量锥体底面到锥顶的高度。x_offset:沿position.pD]方向锥体顶面中心点在锥体底面的投影点与底面中心点的距离。y_offset:沿position.p[2]方向锥体顶面中心点在锥体底面的投影点与底面中心点的距离。ratio:与锥体顶面半径与底面半径的比率。形式限制:WRI:ratio非负。注1:eccentric_cone的顶面的中心点在坐标系里的相关表达形式为:(x_offset,y_offset,height)。注2:若ratio--0.0.那么eccentriccone包含顶点。若比率=1.0,那么锥体是圆柱的衍生,且所有的截面有相同的维数。6.4.18torustorus是通过绕一个大圆(即准线)扫描一个圆面(即母面)定义的一个实体体素。准线是通过位置和方向(axisl—placement)定义的。EXPRESS描述:】57 GB/T16656.42—2010/ISO10303—42:2003*)ENTITYtorusSUBTYPEOF(geometric—representation_item);position:axisl—placement;mayorradius:positive_lengthmeasure;minor_radius:positive_length_measure;WmREWRl:major_radius)minor—radius{END_ENTITY;(*属性定义:position:在轴上中心point的位置和轴的方向。其定义了准线中心和平面。major—radius:准线半径。minor—radius:母面半径。形式限制:WRl:major_radius应大于minor—radius。6.4.19ellipsoidellipsoid是实体形式的CSG体素。它由它的位置、方向和它的三根半轴来定义。EXPRESS描述:*、ENTITYellipsoidSUBTYPEOF(geometric—representationitem);POSition:axis2一lacement3d;se/DLaxis一1:positive_lengthmeasure;semi-axis2:positire_fengthmeasure;se/Qi-axis一3:positive_lengthmeasure;END_ENTITY;r*属性定义:position:ellipsoid的位置和方向,position.10cation是ellipsoid中心的cartesian—point,它和轴与position.P的方向相联系。semi—axis_l:position.p[1]方向的半轴的长度。semi—axis_2:position.p[2]方向的半轴的长度。semi—axis_2:position.p[3]方向的半轴的长度。6.4.20cyclidesegment_.solidcyclide_segment—solid实体是四次圆纹面实体的一部分(见4.4.62)。这种实体具有两个圆盘面,且这两个圆盘面半径和法向量的方向可能不同,沿每个面的边界处的实体曲线曲面与正圆锥相切(见图24)。以下定义的圆锥的半顶点角度是与圆盘面指向外部的法向量有关的。EXPRESS描述:*)ENTITYcyclide—.segment——solidSUBTYPEOF(geometric—representation_item);position:axis2一placement_3d;radiusl:positivelength-measure;radius2:positive—lengthmeasure;cone_anglel:plane_angle_measure;cone_angle2:plane_anglemeasure;turn_angle:plane_anglemeasure;END_ENTITY;158 GB/T16656.42—2010/lSO10303-42:2003I*属性定义:position:实体的位置和方向。position.10cation位于实体的第一个圆底面的中央。position.peal=position.axis,其方向跟对称地经过两个圆底面中点的平面的法方向一致。position.p[1]位于第一个圆底面的平面。position.pie3方向指向实体。radiusl:第一个圆底面的半径。radius2:第二个圆底面的半径。cone—anglel:是与实体第一个圆面边界相切的圆锥顶点半角,如果圆锥的顶点位于圆盘面指向外部的法线上,则外部圆面的法方向作为其正方向。cone_angle2:是与实体第二个圆面边界相切的圆锥顶点半角,如果圆锥的顶点位于圆盘面指向外部的法线上,则外部圆面的法方向作为其正方向。turn—angle:位于实体两个圆面之间的转角。非形式限制:IPl:turn—angle应位于o。~360。之间(见注1)。IP2:末尾段的两个切线锥面位于包含四次圆纹面基轴的平面内,其用来定义圆弧,当一个锥面变成圆柱面时它产生一对平行线,当两个锥面变成圆柱面时产生四个平行线,这时圆弧可以无限制地扩展(见注2)。注1:dupineyelide_surface的定义(见4.4.62)中,turn_angle是11在实体末端两个面等参线的差值。注2:cyclide_segment—solid的属性不是相互独立的,在非形式限制的IP2中说明了这一点,它陈述了最简单独立的几何实体。任何dupin_cyelide_surface实体必须满足1P2,这在图25中有表明。图24部分四次圆纹面实体图25部分四次圆纹面实体的横截面 GB/T16656.42--2010/ISO10303—42:20036.4.21half_space_solidhalf_space_solid是由半空间定义的,这个半空间是位于无界曲面一侧的域的正则子集。而该域受boxed—half_space子类型的直角箱的限制。在半空间中的曲面的哪一侧由该曲面的法向和一致性标志确定。如果一致性标志为TRUE,则该子集在背离法向的一侧,如果一致性标志为FALSE,则该子集在法向指向的一侧。对于一个有效的half-space—solid,该曲面把域仅分成两个子集。此外,在该域内,这个曲面应是流形且全部曲面法向应指向同一个子集。注:halLspace_solid不是solid—model的子类型;它仅作为布尔表达式的操作数使用。EXPRESS描述:*)EtgrITYhalf+—space—.solidSUBTYPEOF(geometric—representation_item);base_surface:surface;agreement—flag:BOOLF.%N;ENDENTITY;f*属性定义:base_surface:定义半空间边界的曲面。agreement—flag:一致性标志,当base—surface的法向背离半空间实体的区域时,该标志为TRUE。非形式限制:IPl:base—surface应把该域恰分成两个子集。当half—space—solid是boxed—half—space子类型时,所讨论的域是具有enclosure属性的域。6.4.22boxed_half_space该实体是half_space—solid的子类型,是通过围起来的矩形箱裁剪得到的。这个箱的边平行于坐标系的坐标轴。注:采用这个箱的目的是通过生成一个有限尺寸的实体而简化CSG的计算。EXPRESS描述:*)ENTITYboxed_half—spaceSUBTYPEOF(half—space_solid);enclosure;boxdomain;END_ENTITY;(*属性定义:enclosure:为了计算方便而界定半空间的箱。6.4.23box_domainbox_domain是一个正交的、边平行于坐标系轴的直角箱体,一般用来限定half—space—solid的范围。box_domain用具有最小坐标值的箱体顶点,以及对应各坐标轴的边长来定义的。EXPRESS描述:*)ENTITYbox_domainSUBTYPEOF(founded_item);corner:cartesian_point;xlength:positive_length-measure;ylength:positive_length_seasllre;zlength:positive_length_measure;WHEREWRI:SIZEOF(QUERY(item(*USEDIN(SELF,”)【】60 GB/T16656.42—2010/ISO10303-42:2003NOT(’皿OMETRItMODEL_SCHEMA.BOXEDHALFSPACE’INTYPEOF(item))))=0;END_ENTITY;(*属性定义:conner:一个cartesian_point,它是具有最小坐标值的box_domain顶角。xlength:box_domain沿平行于z轴的边的长度。ylength:box_domain沿平行于y轴的边的长度。zlength:box_domain沿平行于z轴的边的长度。非形式限制:WRl:box_domain仅有定义halLspace_solid的限制的用途。6.4.24primitive_2dprimitive_2d是一种二维基本体素,包括circular—area、elliptic—area、rectangular—area和polygonal—area。一个primitive_2d可以和其他的二维实体一起构造二维CSG实体。注:在几何模式中,geometricrepresentation的约束禁止primitive_2d和三维csg_primitive出现在boolean_resuh中。EXPRESS描述:*)ENTITYprimitive_2dSUPERTYPEOF(o船OF(circuar_area,elliptic_area,rectangular_area,polygonal—area))SUBTYPEOF(geometric_representation_item)}WHEREWRItSELF\geometric_representation_itemdim=2;END_ENTITY;f*形式限制:WRl:prlmitive_2d的空间应该是二维的。6.4.25circular_areacircular_area是圆盘形式的primitive一2d,它是由一个中心点和一个半径来定义的。EXPRESS描述:*)ENTITYcircular—areaSUBTYPEOF(primitive_2d);centre:cartesianpoint}radius:positive_lengthmeasure;END_ENTITY;(*属性定义:centre:cartesianpoint,位于circular—area的中心。radius:circular_area的半径。6.4.26elliptic_areaelliptc—area是将椭圆作为外边界的primitive_Zd,它是由它的位置和边界椭圆的半轴来定义的。EXPRESS描述:*、FICfITYelliptic—areaSUBTYPEOF(primitive_2d);position:axis2一placement-2d;s邮iaxis一1:positive_lengthmeasure;seol-axis一2:positive_lengthmeasure;16】 GB/T16656.42—2010/lSO10303—42:2003EN”O_EN2I’l’Y2(*属性定义:position:elliptic—area的位置和方向。elliptic—area中心就是position.10cation,且它的长短轴平行于局部坐标系的坐标轴。z:与x轴平行的半轴的长度,(position.pill)。,:与y轴平行的半轴的长度,(position.p[2])。6.4.27rectangular_arearectangular—area是矩形状的primitive一2d,它是用局部坐标系及线段尺寸定义的,rectangular—area用沿x和y坐标轴方向的长度进行描述,并且有一个角位于坐标系的原点。EXPRESS描述:*)ENTITYrectangular_areaSUBTYPEOF(primitive2d);position:axis2一placement2d;x:positivelength-measure}y:positive—length_measure;END_ENTITY;(+属性定义:position:rectangular—area的位置和方向,它有一个顶点(坐标最小)在position.10cation,且它的边与局部坐标系的相关轴平行。z:rectangular—area沿x轴的长度,(position.p[1])。Y:rectangular—area沿y轴的长度,(position.p[2])。6.4.28polygonal_areapolygonal—area是拥有直线边的primitive_2d,它是由三个或更多的笛卡尔点来定义的,这些连续的笛卡尔点隐式地定义了区域的边界,最后一个边是首末点的连线。EXPREsS描述:*1F2胛ITYpolygonal—areaSUBTYPEOF(primitive_2d);bounds:LIST[3:?]OFURIQUEcartesian_point}END_ENTITY;(*属性定义:bounds:位于polygonal—area顶点的二维cartesian—point,连接这些连续点的线性区域形成了polygonal—area的边界。非形式限制:IPl:polygonal—area包含的边不能相交。6.4.29half_.space一2dhalLspace一2d是二维空间中部分有界区域,它定义为一个半平面,这个半平面是无界曲线或封闭曲线一侧的正则区域。rectangled—half—space限制half—space一2d的范围。half—space一2d位于半平面上曲线的哪一侧是由曲线的方向和agreement—flag决定的。对于有效的halLspace一2d来说,曲线刚好将二维空间分成两联通区域。在half—space一2d域内,base—curve是流形的。注:若最后的CSG实体是有界的且弧式联通的,则h剖fspace_2d可用于布尔操作的操作数。162 GB/T16656.42—2010/1SO10303—4212003EXPRESS描述:*)ENTITYhalf—space_2dSUBTYPEOF(geometric_representation_item);basecurve:curve;agreement—flag:BOOLEAIg;ENDENT3Ty;(*属性定义:base—curve:定义了半平面边界的二维曲线。agreement—flag:布尔操作数,表明hal{space_2d位于曲线的哪一边,若agreement—flag为TRUE。区域定义为曲线参数增长方向的左边区域。若标记协议为FAI.SE,则区域定义为曲线参数增长方向的右边区域。非形式限制:1P1:base—curve不应自交。IP2:base—curve将区域分为两个连通子集。这意味了除非half_space一2d是rectangled—half—space类型,否则base_curve是无界或封闭的。6.4.30rectangled_haif_spacerectangled—haif—space是由矩形裁减过的half_space_2d的一种类型。它的边平行于几何空间的相关轴。EXPRESS描述:*)ENTITYrectangled_half~spaceSUBTYPEOF(half—space一2d);enclosure:rectangle—domain;ENDENTITY;(*属性定义:enclosure:一个矩形区域,其出于计算的目的限制了半平面。6.4.31rectangledomainrectangle—domain是二维空间中的矩形区域,它的边平行于空间中各个轴的。它用于限制half—space_2d的范围。EXPRESS描述:*)ENTITYrectangle_domainSUBTYPEOF(foundeditem);corner:cartesianpoint;xlength:positivelengthmeasure;姐ength:positlve_lengthmeasure;W}琚RERRl:SIZEOF(QUERY(item(*USEDIN(SELF,")NOT(’GEOMETRIC_MODEL_SCHEMARECTANGLED_HALF—SPACE’INTYPEOE(item))))=0;EgOF/fTITY;r*属性定义:corner:位于矩形顶角的点(其坐标最小)。xlength:平行于x轴的rectangle~domain边的长度。ylength:平行于y轴的rectangle—domain边的长度。 GB/T16656.42—2010/iso10303—42:20036.4.32sweptface_solidswept-face_solid汇集了平面图形扫描活动的诸过程性定义实体。扫描实体在空间中的位置取决于SWt-pt—face的位置。除角度等于360。的回转体的情况之外,swept—face是swept—face—solid实体的一个面。EXPRESS描述:*、ENrrITYswept_facesolidSUPERTYPEOF(ONEOF(extruded_face_solid.revolved_face_solid,surface_curve_swept_face_solld))SUBTYPEOF(solid_model);swept_face:face_surface;WⅫmWP.P:’证埘也TRY_SaⅡ眦PLANE’IN科PEOF(swept—faceface_geometry)lENDENTITY;(*属性定义:swept—face:定义扫描区域的face—surface。这个面的大小由被引用的face—surface的边界属性确定。形式限制:WRl:swept—face应是一个平面。所引用的swept—face的face_geometry属性应是plane。6.4.33extruded_face_solidextruded_face_solid是通过扫描一个face所得到的实体。由方向向量确定拉伸的方向,由距离深度depth确定拉伸的长度。该平面可以有孔(将被扫描成实体的洞)。EXPREss描述:*)ENTITYextruded_face_solidSUBTYPEOF(swept—face_solid);extruded_direction:direction;depth:positive_length_measure]WHEREWRI:dot—product((SELF\swept_face_solidswept—faceface_geometry\elementarysurfacepositionP[3]),extruded_direction)()00;ENDENTITY;r*属性定义:SELF\swept—face_solid.swept—face:要进行拉伸以生成一个实体的面。extruded-direction:面要被扫描拉伸的方向。depth:面要被扫描拉伸的距离。形式限制:WRl:extruded—direction不应垂直于swept—face的法方向。6.4.34revolved_face_solidrevolved_face_solid是绕一个轴旋转一个face所形成的回转体。轴应在该face的平面内,且该轴不应与face的内部相交。该face可以有孔(其将被扫描成实体的洞)。当在其正方向上沿轴观察时,旋转的方向是逆时针的。更确切地说,A是轴的位置,d是轴的方向,c是由在该face边界上任一点p所旋转成的回转曲面上的一段弧,则C按d*(p—A)的方向离开P,且d*(p—A)的方向作为该面的旋转方向。164 GB/T16656.42—2010/ISO10303-42:2003注:其属性说明见图26。EXPRESS描述:*)ENTITYrevolvedface_solidSUBTYPEOF(swept—face—solid);axis:axisl—placement;angle:plane_anglemeasure;DERIVEaxis—line:line:。representation_item(¨){geometric—representation_item(。)Icurve()Iline(axislocation.representation_item(”)【geometric—representation_item()|Ivector(axisz,10)):ENDENTITY;f*属性定义:SELF\swept—face_solid.swept~face:要旋转以生成该实体的face。axis:绕着它旋转的轴。angle:扫描通过的角。这个角从扫描face的平面开始度量。axis—line:旋转轴的直线。图26回转面实体非形式限制:/P1:axis—line应位于swept_/ace_solid超类型的swept_face属性的平面内。IP2:axis—line不应与swept—face内部相交。IP3:angle应在大于o。到小于或等于360。之间。6.4.35surface_curve_swept_face_solidsurface_curve_swept—face—solid是swept—facesolid的一种,它是沿位于reference—surface上的基准线directrix扫描一个面而生成的。扫描面swept~face的方向与reference—surface的法向量有关。swept—face要求是face—surface类型,且位于平面z一0上。沿directrix以这样的方式扫描:局部坐标系原点在directrix上,其x轴的方向是当前点在reference—surface上的法向量方向。所生成的实体具有这样的特性:在directrix上任何点处,实体在directrix法平面上的截面都是与swept—face一模一样。沿directrix扫描的swept—face的方向是由cartesian—transformation—operator一3d的精确定义的。它有以下属性:】65 GB/T16656.42—2010/ISO10303—42:2003local—origin在(0,0,0)。axisl:过参数为U的directrix上的点在reference—surface上的法线N。axis3:参数为“的directrix上的点的切向量方向t。定义变换矩阵丁(“)时其余属性是可省缺的,了、(“)随direetrix的参数“而变化。注l:实体的几何形状并不依赖于曲线的参数化,体积取决于面的大小和基准线的长度。EXPRESS描述:*)ENTITYsurface——curveswept——face——solidSUBTYPEOF(swept—face—solid);directrix:curve;starLparam:REAL;end_param:REAL;referencesurface:surface;WHEREWRI:(NOT(’GEOMETRY_SCHEMASUREACE-CURVE’INTYPEOF(directrix)))OR(reference_surfaceIN(directrix\surface_curvehasis—surface));ENDENTITY;(*属性定义:directrix:扫描操作的准线,实体是由SELF\swept—face—solid.swept—face沿着directrix扫描而成。start—param:扫描操作开始时的准线参数。end—param:扫描操作结束时的准线参数。reference—surface:参考面,该面包含directrix。形式限制:WRl:若directrix是一条surface—curve,则reference—surface应位于basis—surface集上。非形式限制:IPl:swept—face应位于z0的平面。1P2:directrix位于reference—surface上。注2:在以上的描述中,当前点在reference—surface处的法向量记为N。6.4.36swept_area_solidswept—area_solid汇集了诸个由平面上的有界曲面进行扫描而成的过程性定义的实体。扫描实体的空间位置取决于swept_area的位置。除角度等于360。的revolved—area—solid的情况外,swept—area应是所产生的swept—area—solid的一个面。EXPRESS描述:*)ENTITYswept—area_solidSUPERTYPEOF(ONEOF(revolvedareasolid,extrudedareasolid,surfacecurve_swept—area_solid))SUBTYPEOF(soli止model);sweptarea:curve—bounde_d_surface;WⅫ1皿WRI:’GEOMETRY_SCHEMAPLANE’INTYPEOF(swept—areabasis—surface)5END_ENTITY;(*属性定义:swept_area:定义扫描区域的curve—bounded—surface。这个区域的大小由所引用的curve—bounded—surface的边界属性确定。形式限制:166 GB/T16656.42—2010/ISO10303—42:2003WRl:swept—area应是平面。所引用的curve—bounded—surface的basis—sur{ace属性应是平面。6.4.37extruded_area_solidextruded—area~solid是通过扫描一个有界平面定义的实体。拉伸的方向由direction向量确定,拉伸的长度由depth确定。该扫描的平面区域可以有孔(这时扫描成的实庠有洞)。EXPRESS描述:*)ENTITYextrudetareasolidSUBTYPEOF(swept—area_solid);extrudeddirection:direction;depth:positive_lengthmeasure;WHEREWRI:dotproduct(SELF\swept_areasolidswept—.areabasis——surface\elementary_surfacepositionp[33),extrudeddirection)(>00;FND_ENTITY;(*属性定义:SEI。F\swept—area—solid.swept—area:要拉伸以生成该实体的有界曲面。extruded—direction:该区域要扫描的方向。depth:区域被扫描的距离。形式限制:WRl:extruded—direction不应垂直于被扫描区域平面的法方向。6.4.38revolved——area_solidrevolved_area_solid是通过绕一个轴旋转一个平面有界曲面所形成的实体。该轴位于曲面的平面内,且该轴不应与该有界曲面的内部相交。这个有界曲面可以有孔(这时扫描成的实体有洞)。当按正方向沿轴观察时,旋转的方向是逆时针的。更确切地说,如果A是轴的位置,d是轴的方向,C是由该面边界上任意点P所生成回转曲面上的一段弧,该区域旋转时,c旋转的方向为:按d*(pA)方向离开P。EXPRESS描述:*)ENTITYrevolved_areasolidSUBTYPEOF(swept—area_solid);axis:axisl—placement;angle:planeanglemeasure;Ⅱ瓯IVEaxis一1ine:line:=representationitem(”)geometric—representation_item()curve()I1ine(axislocation,representation_item(”)geometric—representation_item()vector(axisz,10));END_ENTITY;f*属性定义:SEI.F\sweptarea_solid.swept—area:要被旋转以生成实体的curve—bounded—surface。axis:准轴,即一个平面有界曲面是绕其旋转的。angle:进行扫描所通过的角度。该角度从扫描面的平面开始度量。axis—line:旋转轴的直线。非形式限制:IPl:axis—line应位于具有swept—area—solid超类型swept—area属性的平面内。】67 GB/T16656.42--2010/ISO10303-42:2003IP2:axis_line不应与扫描区域的内部相交。IP3:angle应在大于o。到小于或等于360。之间。6.4.39surfacecurveswept_area_solidsurface—curve_swept—area_solid是swept—area—solid的一种,它是沿位于reference_surface上的基准线directr{x扫描一个面而生成的。swept—Rrea的方向与reference—surface的法向量有关。swept_area是一个curve—bounded—surface,其位于平面2—0的平面上,沿基准线以这样的方式扫描:局部坐标系原点在基准线上,其z轴的方向是当前点在reference—surface上的法向量方向。所生成的实体具有这样的特性:在基准线上任何点处,实体在基准线法平面上的截面与swept—area一模一样。沿directrix扫描的swept—area的方向是由cartesian—transformation—operator一3d精确定义的。cartesian—transformation—operator_3d的属性有:Local—origin在(0,0,0)。axisl:过参数为“的基准线上的点在reference_surface上的法线N。axis3:参数为“的基准线上的点的切矢方向t。定义变换矩阵T(“)时其余属性是省却的,T(“)随基准线的参数“而变化。注1:实体的几何形状并不依赖于曲线的参数化,体积取决于区域的大小和基准线的长度。EXPRESS描述:*、ENTITYsurfacecurveswept_area_solidSUBTYPEOF(sweptareasolid);directrix:curve;start_param:REAL;end_param:REAL;referencesurface:s%irface;W目mWRI:(NOT(’GEOMETRYSCHEMASURFACE_CURVE’INTYPEOF(directrix)))OR(reference_surfaceIN(directrix\surface_curvebasis—surface));END_ENTITY;(*属性定义:directrix:扫描操作的准线,实体是由扫描SELF\swept—area—solid.swept—area沿着directrix扫描而成。start—param:扫描操作开始时的准线参数。end—param:扫描操作结束时的准线参数。reference—surface:参考面,该面包含directrix。形式限制:WRl:若directrix是一条surface—curve,则reference_surface应位于basis_surface集上。非形式限制:IPI:swept_face应位于z一0的平面。IP2:directrix位于reference—surface上。注2:在以上的描述中,当前点在reference_surface处的法向量记为N。6.4.40swept_disk._solidswept—disk_solid是沿着三维曲线扫描一个圆盘而成的实体。圆盘平面的法向量沿基准线的切矢方向,圆盘的中心在directrix上。圆盘可能有一个中一I=.qL(这时生成扫描体有通孔),若此时directrix是闭合的,则所生成的扫描体中间有空腔。EXPRESS描述:*、168 GB/T16656.42—2010/iso10303—42:2003EWT_ITYsweptdistsolidSUBTYPEOF(solid_model);directrixfcurve;radius:positive_length_measure;inner_radius;OPTIONALpositive—length_measure;start-param:REAL;end_paras:REAL;WHEREWRI:dlrectrixdim=3:WR2:(NOTEXiSTS(inner_radius))OR(radius)innerradius):END-ENTITY;r*属性定义:direetrix:扫描操作的准线,实体通过沿基准线扫描一个圆盘形成。radius:沿着directrix扫描的圆盘半径。inner_radius:可选属性的,若圆盘存在中心孔,则它表示圆盘的环孔的半径。start_param:扫描操作开始时的directrix参数。end—param:扫描操作结束时的directrix参数。形式限制:WRl:direetrix应该是三维空间曲线。WR2:若innerradius存在,则radius应大于inner_radius。注1:如果directrix是一条在每一点曲率都比半径大的开口曲线。则产生一个没交叉的简单实体。示例1:一个环形壳实体:它的大半径R1,小半径Rz,壳厚I,则可定义为具有以下属性的swept_disk_solid实体。directrix:半径为R1的三维圆盘。radius:Rzinner_radius:R2tstart_parameter:0。end—parameter:360。6.4.41trimmedI_volume.trimmed—volume是一种solid_model。它的边界是在basis—volume中具有“l—ul,“2=u2,口l—vl,V2一V2,w1一w1和W2一w2性质的等参数曲面。在basis—volume的三维参数空间中,trimmed—volume的域是长方体的。EXPRESS描述:*)ENTITYtr珊ed-volumeSUBTYPEOF(solid_model);basis_volume:volume;ul:p勘瑁皿eter-value;u2:parameter_value;vl:paxameter_value;v2:parameter_value;wl:parameter_value;w2:parametervalue;Ⅻ丑陋WRI:ul()u2lWR2:vl《)v2:WR3:wl(>w2;END_ENTITY;f*属性定义:169 GB/T16656.42—2010/KsO10303—4212003basis—volume:裁剪体。u1:参数U的第一个参数值。u2:参数“的第二个参数值。v1:参数。的第一个参数值。v2:参数”的第二个参数值。wl:参数w的第一个参数值。w2:参数W的第二个参数值。形式限制:WRI:两个“的裁剪参数值是不同的。WR2:两个u的裁剪参数值是不同的。WR3;两个”的裁剪参数值是不同的。注1f若basis_volume在任何参数方向上不封闭,trimmed—volume满足条件:ul=1THENreturn_set:=return_set十brep\brep_with_voidsvoids;END_IF}RETURN(return_set);KND_FUNCTION;(*属性定义:brep:(输入)带有一组closed—shell的manifold-soild_brep。result:(输出)用于定义brep的所有closed_shell的集合。EXPRESS描述:*)E1lD—SaDmA;一e11d句帕Ⅺ矾ICMODELschemaf*177 GB/T16656.42—2010/ISO10303-42:2003附录A(规范性附录)实体短名表A.1提供了本部分中规定的实体短名。使用短名的要求见GB/T16656的实现方法。表A.1实体短名实体名短名AXlSlPI,ACEMENTAXIPLCAXlS2一PI,ACEMENT一2DA2PI。2DAXIS2一PI。ACEMENT一3DA2PI,3DBEZlER—CURVEBZRCRVBEZIER—SURFACEBZRSRFBEZIERVOI,UMEBZRVI。MBL()CKBI。oCKBLOCKVOI。UMEBI,CVLMBOOI。EAN——RESULTBLNRSLBOUNDARY—CURVEBNDCRBOUNDEI)-CURVEBNDCRVBOUNDEI)_PCURVEBNDPCRBOUNDEDSURFACEBNDSRFBOUNDEDSURFACE—CURVEBNSRCRBOXElLHAI。F—SPACEBXHLSPBOX—DOMAINBXDMNBREPWITH—V01DSBRWTVI)BREP一2DBREP2D13_SPI。1NECURVEBSPCRB—SPI.INECURVE—WlTHKNOTSBSCWKB1SPI,INE—SURFACEBSPSRB_SPI.INESURFACE_wITH—KNOTSBSSWKB——SPLlNEVOI,UMEBSPVI。BSI’1.1NEVOI,UME—W1TH—KNOTSBSVWKCARTESlANPOINTCRTPNTCARTESIANTRANSFORMATI()N一()PERAT()RCRTR()PCARTESIAN—TRANSF()RMATIONOPERATOR2DCT02CARTESIAN——TRANSFORMATION——OPERATOR—.3DCT03CIRCLEC1RCI。ECIRCUI。AR—AREACRCAR178 表A.1(续)GB/T16656.42—2010/ISO10303-42:2003实体名短名C1RCULAR_INVOLUTECRCINVCLOSED二SHEl。I。CI。SSHI。CL()THOIDCI。rrHDCOMPOSITE—CURVECMPCRVCOMPOSITE-CURVE_oN-SURFACECCC)SCOMPOSITE—CURVESEGMENTCMCRSGCONICC()NICCoNICALSURFACECNCSRFCoNNECTEDEDGE—SETCNEDSTCONNECTE吐FACE-SETCNFCSTCONNECTEDFACESUl3_SETCFSSCONVEXHEXAHEDRONCNVHXHCSG—SOLIDCSGSLDCURVECURVtBoUNDEDSURFACECRBNSRCURVE—REPI,ICACRVRPLCYLINDRICALSOI。ID二SEGEMENTCYSLSGCYLlNDRICAI,一POINTCYI.PNTCYLINDRICAI。——SURFACECYLSRFCYLINDRICALVOI,UMECYl,VLMDEGENERATE-PCURVEDGNPCRDEGENERATE—TOROIDAI.一SURFACEDGTRSRDIRECTIONDRCTNDUPlNCYCLIDE_SURFACEDPCYSRECCENTRICCONEECCCNECCENTRIC—CONICALVOI,UMEECCNVLEI)GEEDGEEDGE-BASED_wIREFRAME-M()DEI。EBWMEDGE—CURVEEDGCRVEDGE—LOOPEDGLPELEMENTARY—SURFACEELMSRFELLIPSEEI。LPSELLIPSOIDEI,LPSDE1,LIPSOIDV()I,UMEEI,I,VLMELLIPTIC—AREAELI。AR179 GB/T16656.42—2010/tSO10303-42:2003表A.1(续)实体名短名EVALUATED-DEGENERATEPCURVEEVDGPCEXTRUDED二AREA—SOLIDEXARSLEXTRUDED_FACE—SOLIDEXFCSLFACEFACETEDBREPFCTBRFACETEDPRIMITIVEFCTPRMFACE-BASED_SURFACEJⅥoDELFBSMFACE—BOUNDFCBNDFACE—oUTERJ30UNDFCOTBNFACE。SURFACEFCSRFFIXEDREFERENCESWEPTSURFACEFRSSGEOMETRIC_CURVESETGMCRSTGEoMETRlC—REPRESENTATl0N—CONTEXTGMRPCNGEOMETRICREPRESENTATION—ITEMGMRPITGEOMETRICSETGMTsTGEoMETRIC—SETREPLICAGMSTRPHALF—SPACESOLIDHLSPSLHALFSPACE2DHLSP2DHEXAHEDRON—VOLUMEHXHVLMHYPERBoLAHYPRBLINTERSECTION—CURVEINTCRVL1NELINELooPLOOPMANIFoLDLSOLIDLBREPMNSLBROFFSETCURVE2DoFCR2DOFFSET_CURVE_3D0FCR3DOFFSET—SURFACEoFFSRFOPEN—PATH0PNPTHoPEN—SkiELLOPNSHL0RIENTED_CLOSEDSHELLORCLSHoRIENTED_EDGEoRNEDGORIENTED_FACEoRNFCORIENTED-OPENSHELL0ROPSHoRIENTED—PATHORNPTHORIENTED二SURFACEORNSRF180 表A.1(续)GB/T16656.42—2010/1SO10303-42:2003实体名短名oUTER—BOUNDARYCURVEOTBNCRPARABoLAPRBLPATHPCURVEPLACEMENTPLCMNTPLANEPoINTPOINTPOINT矗IN—VOLUMEPNINVLPOINT——ON——CURVEPNoNCRPOINT—O虬SURFACEPNONSRPOINT—REPLICAPNTRPLPOLAR-POlNTPLRPNTPOLYGONAL—AREAPLYARPoLYI,lNEPLYLNPoLY—LOOPPLYLPPRIMlTIVE一2DPRM2DPYRAMID—VOLUMEPYRVLMQUASIUNIFORM—CURVEOSUNCRQUASLUNIFORM_SURFACEQSUNSRQUASLUNIFoRM—VoLUMEQSUNVLRATIONAL—B—SPLINE_CURVERBSCRATIONALBSPLINE_SURFACERBSSRATIONAL—B—SPLINE—VOLUMERBSVRECTANGLE—DOMAINRCTDMNRECTANGLED-HALF_SPACERCHLSPRECTANGULAR-AREARCTARRECTANGULAR—COMPOSITE—SURFACERCCMSRRECTANGULAR—PYRAMIDRCTPYRRECTANGULAR—TRIMMED_SURFACERCTRSRREPARAMUTRISED—COMPOSITE~CURVE—SEGMENTRCCSREVOLVED—AREA-SOLIDRVARSLREVOLVED-FACE—SOLIDRVFCSLRIGHT-ANGULAR_WEDGERGANWDRIGHT—CIRCULAR—CONERGCRCNRIGHTCIRCULAR—CYLINDERRGCRCY181 GB/T16656.42—2010/ISO10303—42:2003表A.1(续)实体名短名SEAM—CURVESMCRVSECTIONED_SPINESCTSPNSHEl~IBASED—SURFACI王MODEI。SBSMSHELI。一BASED_WIREFRAME—MODEl,SBWMSOl,11)-MODEl.SI。DMDLSOLID_REPI。ICASLI)RPI,SPHERESPHERICAL—POINTSPHPNTSPHERICAL_SURFACESPHSRFSPHERICAI—VoLUMESPHVI。MSUBEDGESBDGSUBFACESBFCSURFACESRFCSURFACE—CURVESRFCRVSURFACE—CURVE—SWEPTAREA-SOLIDSCSASSURFACE—CURVE—SWEPT—FACESOLIDSCSFSSURFACE—.CURVESWEPT—.SURFACESCSSSURFACE一()F—I。INEAR—EXTRUSIONSLSURFACE_OFREVOLUTl0NSROFRVSURFACE—PATCHSRFPTCSURFACE——REPI。1CASRFRPLSWEP£ARE应SOLIDSWARSLSWEPl、-DISK—SOI。IDSWDSSI。SWEPT_FACE—SOI,IDSWFCSLSWEPT—SURFACESWPSRFTETRAHEDRoNTTRHDRTETRAHEDRON—VOLUMETTRVl。MTOPOI,OGICALREPRESENTATION—ITEMTPRPITToROIDAI。一SURFACETRDSRFTOROIDALVOLUMETRDVLMT()RUSToRUSTRIMMEI)_CURVETRMCRVTRIMMETLVOLUMETRMVLMUNIFORM—CURVEUNFCRVUNIF()RM—SURFACEUNFSRF182 表A.1(续)GB/T16656.42—2010/ISO10303-42:2003实体名短名UNlFORMVOLUMEUNFVI。MVECT()RVECTf)RVERTEXVER.IEXVERTEX—I。00PVRTI,PVERTEXP01NTVRTPNTVERTEXSHEJ,I,VRTSHLVoLUMEV()LUMEWEDGE—V()I。UMEWDGVLMWIRE—SHELI,WRSHL183 GB/T16656.42—2010IISq010303-42:2003附录B(规范性附录)信息对象的标识注册B.1文档标识为了在一个开放的信息系统中给信息对象提供一个明确的标识符,对象标识符:{isostandard10303part(42)version(8))分配给信息对象,这个值的意义在GB/T16262中定义,且在GB/T16656.1中有描述。B.2模式标识为了在一个开放的信息系统中给几何模式提供一个明确的标识符,对象标识符:{isostandard10303part(42)version(8)object(1)geometry-schema(1))分配给了几何模式,见第4节。这个值的意义在GB/T16262.1中定义,且在GB/T16656.1中有描述。为了在一个开放的信息系统中给拓扑模式提供一个明确的标识符,对象标识符:{isostandard10303part(42)version(8)object(1)topology--schema(2))分配给了拓扑模式,见第5节。这个值的意义在GB/T16262.1中定义,且在GB/T16656.1中有描述。为了在一个开放的信息系统中给几何模型模式提供一个明确的标识符,对象标识符;(isostandard10303part(42)version(8)object(I)geometrtc-model-schema(3)}分配给了几何模型模式,见第6章。这个值的意义在GB/T16262.1中定义,且在GB/T16656.1中有描述。184 GB/T16656.42—2010/nso10303-42:2003附录C(资料性附录)计算机可识的清单本附录提供了一个GB/T16656本部分规定的EXPRESS实体名及对应的短名清单,不包括注解与其他说明性文字。本附录采用计算机可翻译的形式,并可在以下URL获取:Shortnames:(http://www.tcl84s04.org/ShortNames/>EXPRESS:若无法连接到这些网站,请与ISO中央秘书处联系或直接以电子邮件与ISOTC184/SC4的秘书处联系,邮箱为:sc4sec@tcl84sc4.org。注:以上网址中以计算机可翻译的形式所提供的信息是资料性的。GB/T16656本部分正文中的信息是规范性的。 GB/T16656.42—2010/ISO10303-42:2003附录D(资料性附录)EXPRESS-G框图图D.1~图D.20对应于附录C中给出的EXPRESS。这些框图对EXPRESS语言使用了EXPRESS-G图形表示法。EXPRESSG在GB/T16656.11—2010的附录D中定义。186图D.1几何模式EXPRESS-G框图13之1 GB/T16656.42—2010/ISO10303-42:2003图D.2几何模式EXPRESS-G框图13之2187 GB/T16656.42—2010/iso10303—42:2003188图D.3几何模式EXPRESS-G框图13之3 GB/T16656.42—2010/ISO10303-42:2003图D.4几何模式EXPRESS-G框图13之4189 GB/T16656.42—2010/ISO10303-42:2003190图D.5几何模式EXPRESS—G框图13之5 GB/T16656.42—2010/ISO10303-42:2003图D.6几何模式EXPRESS-G框图13之6191 GB/T16656.42—2010/iso10303—4212003192curveOllsurface图D.7几何模式EXPRESS—G框图13之7 GB/T16656.42—2010/ISO10303-42:2003图D.8几何模式EXPRESS-G框图13之8193 GB/T16650.42—2010/ISO10303-4212003194knot—type图D.9几何模式EXPRESS-G框图13之9 GB/T16656.42—2010/ISO10303-42:2003图D.10几何模式EXPRESS—G框图13之10图D.11几何模式EXPRESS-G框图13之11195 GB/T16656.42—2010/iso10303-42:2003196knottype图D.12几何模式EXPRESS-G框图13之12 GB/T16656.42—2010/tSO10303-42:2003图D.13几何模式EXPRESS-G框图13之13197 GB/T16656.42—2010/ISO10303—42:2003198图D.14拓扑模式EXPRESS-G框图1之3 GB/T16656.42—2010/lSO10303-42:2003图D.15拓扑模式EXPRESS-G框图2之3199 GB/T16656.42—2010/ISO10303-4212003200wire_shell—DER)cfsfacesS[1:?]图D.10拓扑模式EXPRESS-G框图3之3 GB/T16656.42—2010/ISO10303-42:2003图D.17几何模型模式EXPRESS-G框图1之4201 GB/T16656.42—2010/ISO10303-42:2003202图D.18几何模型模式EXPRESS-G框图2之4 GB/T16656.42—2010/ISO10303-42:2003图D.19几何模型模式EXPRESS—G框图3之4203 GB/T16656.42—2010/ISO10303-42:2003204图D.20几何模型模式EXPRESS-G框图4之4 GB/T16656.42—2010/ISO10303-42:2003附录NA(资料性附录)ISO10303各部分的目录ISO10303是一个由不同部分组成的标准,各部分单独出版。IsO10303将各部分分为8个系列:描述方法、集成资源、应用解释构造、应用协议、抽象测试套件、实现方法、一致性测试和应用模型。ISO10303—1对这些系列进行了描述。ISO10303的总标题为《工业自动化系统与集成产品数据表达与交换》,它包括以下部分:——第1部分:概述与基本原理;——第11部分:描述方法:EXPRESS语言参考手册;——第12部分:描述方法:EXPRESS-I语言参考手册;——第14部分:描述方法:EXPRESS-X语言参考手册;——第21部分:实现方法:交换文件结构的纯正文编码;——第22部分:实现方法:标准数据访问接口规范;——第23部分:实现方法:C++语言联编的标准数据访问接口;——第24部分:实现方法:c语言联编的标准数据访问接口;——第25部分:实现方法:FORTRAN语言联编的标准数据访问接口;——第26部分:实现方法:接口定义语言联编的标准数据访问接口;——第27部分:实现方法:JAVA编程语言联编的标准数据访问接口Internet/Intranet扩展;——第28部分:实现方法:EXPRESS驱动数据的XML表达;——第29部分:实现方法:简化JAVA编程语言联编的标准数据访问接口Internet/Intranet扩展;——第31部分:一致性测试方法论与框架:基本概念;——第32部分:一致性测试方法论与框架:测试实验室与顾客的要求;——第34部分:一致性测试方法论与框架;应用协议实现的抽象测试方法;——第35部分:一致性测试方法论与框架:SDAI实现的抽象测试方法;——第41部分:集成通用资源:产品描述与支持原理;——第42部分:集成通用资源:几何与拓扑表达;——第43部分:集成通用资源:表达结构;——第44部分:集成通用资源:产品结构配置;——第45部分:集成通用资源:材料;——第46部分:集成通用资源:可视化显示;——第47部分:集成通用资源:形状变化公差;——第49部分:集成通用资源:工艺过程结构与特性;——第50部分:集成通用资源:数学构造;——第101部分:集成应用资源:绘图;——第104部分:集成应用资源:有限元分析;——第105部分:集成应用资源:运动学;——第106部分:集成应用资源:建筑结构核心模型;——第107部分:集成应用资源:工程分析核心参考模型;——第108部分:集成应用资源:显式几何产品模型参数和约束;——第201部分:应用协议:显式绘图;——第202部分:应用协议:相关绘图;205 GB/T16656.42—2010/lSO1030344212003——第203部分:应用掷议:配置控制设计;——第204部分:应用协议:使用边界表达的机械设计;第205部分:应用协议:使用曲面表达的机械设计;第207部分:应用协议:钣金模具的规划与设计;——第208部分:应用协议:生命周期管理更改过程;——第209部分:应用协议:复合材料和金属结构分析以及相关的设计;——第210部分:应用协议:印刷电路部件产品的设计数据;一一第212部分:应用协议:电子技术设计和安装;——第213部分:应用协议:加工零件的数控工艺规程;——第214部分:应用协议:自动化机械设计过程的核心数据;一一第215部分:应用协议:船舶布置;——第216部分:应用协议:船舶模型;一一第217部分:应用协议:船舶管道系统;——第218部分:应用协议:船舶结构;——第220部分:应用协议:分层电子产品的工艺计划、制造和装配;——第221部分:应用协议:加工厂的功能数据及其模式表达;——第223部分:应用协议:铸造件设计制造产品信息交换;——第224部分:应用协议:采用加工特征定义机械产品的加工规划;——第225部分:应用协议:用显式形状表达的建筑元素;——第226部分:应用协议:船舶机械系统;——第227部分:应用协议:工厂空间配置;——第230部分:应用协议:建筑结构框架:钢结构;——第231部分:应用协议:工艺工程数据:关键设备的工艺设计和工艺规范——第232部分:应用协议:技术数据封装核心信息与交换;——第233部分:应用协议:系统工程数据的表达;——第234部分:应用协议:船舶操作日志、记录和报文;——第235部分:应用协议:产品设计和检验的材料信息;一第236部分:应用协议:家具产品数据和投影数据;——第30]部分:抽象测试套件:显式绘图;一第302部分:抽象测试套件:相关绘图;——第303部分:抽象测试套件:配置控制设计;——第304部分:抽象测试套件:使用边界表达的机械设计;——第305部分:抽象测试套件:使用曲面表达的机械设计;——第307部分:抽象测试套件:钣金模具的规划与设计;——第308部分:抽象测试套件:生命周期管理更改过程;——第309部分:抽象测试套件:复合材料和金属结构分析以及相关设计;——第3]0部分:抽象测试套件:印刷电路部件产品的设计数据;——第312部分:抽象测试套件:电子技术设计和安装;——第313部分:抽象测试套件:加工零件的数控工艺计划;——第314部分:抽象测试套件:自动化机械设计过程的核心数据;——第315部分:抽象测试套件:船舶布置;——第316部分:抽象测试套件:船舶模型;⋯一第317部分:抽象测试套件:船舶管道系统; GB/T16656.42—2010/ISO10303-42:2003——第318部分:抽象测试套件:船舶结构;第321部分:抽象测试套件:加工厂的功能数据及其模式表达;——第322部分:抽象测试套件:复合结构的产品数据交换;——第323部分:抽象测试套件:铸造件设计制造产品信息交换;——第324部分:抽象测试套件:采用加工特征定义机械产品的加工规划;——第325部分:抽象测试套件:用显式形状表达的建筑元素;——第326部分:抽象测试套件:船舶机械系统;——第327部分:抽象测试套件:工厂空间配置;⋯第329部分:抽象测试套件:锻造件设计制造产品信息交换;——第330部分:抽象测试套件:建筑结构框架:钢结构;——第33I部分:抽象测试套件:工艺工程数据:关键设备的工艺设计和工艺规范——第332部分:抽象测试套件:技术数据封装核心信息与交换;——第333部分:抽象测试套件:系统工程数据的表达;——第334部分:抽象测试套件:船舶操作日志、记录和报文;——第335部分:抽象测试套件:产品设计和检验的材料信息;——第336部分:抽象测试套件:家具产品数据和投影数据;——第501部分:应用解释构造:基于边的线框;——第502部分:应用解释构造:基于壳的线框;一第503部分:应用解释构造:几何边界的二维线框;——第504部分:应用解释构造:绘图标注}——第505部分:应用解释构造:图纸结构与管理;——第506部分:应用解释构造:绘图元素;——第507部分:应用解释构造:几何边界曲面;——第508部分:应用解释构造:非流形曲面;——第509部分:应用解释构造:流形曲面;——第510部分:应用解释构造:几何有界的线框;——第51l部分:应用解释构造:拓扑边界的曲面;——第512部分:应用解释构造:小平面边界表达;——第513部分:应用解释构造:基本边界表达;——第514部分:应用解释构造:高级边界表达;——第515部分:应用解释构造:构造实体几何;——第517部分:应用解释构造:机械设计几何表达;——第518部分:应用解释构造:机械设计渲染表达;——第519部分:应用解释构造:几何拓扑;——第520部分:应用解释构造:相关绘图元素;——第1001部分:应用模块:表象分配;——第1002部分:应用模块:颜色;——第1003部分:应用模块:曲线表象;一一第1004部分:应用模块:基本形状;——第1005部分:应用模块:基本拓扑形状;——第1006部分:应用模块:基础表达;——第1007部分:应用模块:一般表面表象;——第1008部分:应用模块:层分配; GB/T16656.42—2010/lSO10303-4212003208——第1009部分:应用模块:形状表象和层。ISO10303各部分的编号反映了它的结构:——第11至第14部分规定了描述方法;——第21至第29部分规定了实现方法;——第31至第35部分规定了一致性测试方法与框架——第41至第50部分规定了集成通用资源;——第101至第108部分规定了集成应用资源;——第201至第236部分规定了应用协议;——第301至第336部分规定了抽象测试套件;——第501至第518部分规定了应用解释构造;——第1001至第1009部分规定了应用模块。ISO10303标准各部分的完整清单可以从因特网得到http://www.nist,gov/sc4/editing/step/titles/。 GB/T16656.42—2010/ISO10303—42:2003附录NB(资料性附录)本部分英文黑体词的含义above_plane(function)上平面acyeliccurve—replica(function)非循环复制曲线acyclic_point_replica(function)非循环复制点acyelic_set_rep|ica(function)非循环复制集acyclic_solid-replica(function)非循环复制实体acyclic_surfaeereplica(function)非循环复制曲面associated一$urface(function)关联曲面axisl—placement轴1方位axis2一placement轴2方位axis2一placement2d二维空间的正交轴axis2——placement,—3d三维空间的正交轴bspline_curveB样条曲线b-spline_curve_formB样条曲线形式b—spline_curve_with-knots带有节点值的B样条曲线b—splinesurtaceB样条曲面b-spline_surfaceformB样条曲面形式bspline_surface—withknots带有节点值的B样条曲面b—splinevolumeB样条体kspline_volumewith—knots带节点的B样条体base—axis(function)基轴Bezier曲线bezLer—surfaceBezier曲面bezier_volume贝塞尔体block块blockvolume块体boolean_choosefunction布尔选择booleanoperand布尔操作数boolean_operator布尔算子boolean_result布尔结果boundary_curve边界曲线bounded_curve有界曲线bounded_pcurve有界参数域曲线209 GB/T16656.42—2010/18010303-4212003表(续)boundedsurface有界曲面bounded——surface——curve有界曲面曲线boxdomain箱域boxedhalfspace箱形半空间brep_2d二维B-repbrep_with_voids带有空隙的B-repbuild一2axes(function)建2轴build_axes(function)建轴build_transformed_set(function)建立变换集carteman_pomt笛卡尔点cartesian_transformation—operator笛卡尔变换运算符cartesian——transformation——operator_2d2D笛卡尔变换运算符cartesian_transformation_operator3d3D笛卡尔变换运算符circle圆圆形区域circularlnvolute圆渐开线closedcurve封闭曲线closed—surface封闭曲面closed—shell封闭壳closedshellreversed(function)逆封闭壳clothoid回旋螺线compatible—dimension维数相容compatible_dimension—rule维数相容规则复合曲线composite—curveon_surface曲面上的复合曲线composite_curve_segment复合曲线段conditionaLreverse(function)条件逆圆锥曲线conicalsurface圆锥曲面connected—edge_set连通边集connected-face_set连通面集connected—.face—.sub_set连通面子集constraints——composite_curve—.on_surface(function)曲面上复合曲线的约束constraintsgeometry_shelLbase疋surfacemodel(function)基于壳的表面模型的几何约束constraintsgeometryshellbasedwireframe_model(function)基于壳的线框模型的几何约束constraints—parambspline(function)检查B样条的参数化210 表(续)GB/T16656.42—2010/1SO10303—42:2003constraints—rectangular_composite_surface(function)矩形复合曲面约束检查constructivesolidgeometry(CSG)构造实体几何eonvexhexahedron凸六面体coordinatespace—dimension坐标空间维数cross_product(function)叉积e89-pnmmveCSG体素csg_seleetCSG选择csg_solidCSG实体曲线curve—.bounded—.surface曲边有界曲面曲面上的曲线curve_repllea复制曲线curve_weights_positive(function)曲线权因子值为正数cycle环cyclide_segment_solid部分四次圆纹面cylindrical—point圆柱点cylindricaLsurface圆柱面cylindrical—volume圆柱体default—.b—.spline_curve_weights(function)缺省的B样条曲线权因子defaultb—.spline_knot——mult(function)缺省的B样条节点重数default—b_spline—knots(function)缺省的B样条节点default—b_spline_surface_weights(function)缺省的B样条曲面的权因子dege“erate_peurve退化参数域曲线degenerate_toroidal—surface退化的圆环面difference差dimension_count维数dimension_of({unction)维数dimensionality维数方向向量“manifoldwithboundary带有边界的d维流形域dot_product(function)点积dummy_gn哑元dupin_cyclide_sudace双四次螺旋曲面非正锥体eccentric—eonicaLvolume斜锥体211 GB/T16656.42—2010/ISO10303-42:2003表(续)edge边edge_curve边曲线edge—.curve——peurves(function)边曲线相联的参数域曲线edge_loop边环edge—reversed(function)逆边elementary—surface初等曲面ellipse椭圆ellipsoid椭圆体ellipsoid—volume椭球体elliptic—area椭圆形区域欧拉方程量度extent_enumeration量度枚举extruded-area_solid拉伸区域实体extruded—.face——solid拉伸面实体edge_base屯wireframemodel基于边的线框模型evaluated-degenerate_peurve退化参数域曲线的计值face面face——based—.surface—.model基于面的表面模型face_bound面边界face_bound—reversed(function)逆面边界face_outer_bound面的外边界face_reversed(function)逆面facesur!ace面曲面facete疋brep小面片B-repfaceted—primitive小片面体素finite有限first—.proj——axis(function)一次投影轴fixed——reference——swept—.surface固定的参考扫描曲面genusol亏格graph图geometriccoordinate几何相关geometric—curveset几何曲线集geometric_representation_context几何表示相关环境geometric—representation_item几何表示项geometrm—set几何集212 表(续)GB/T16656.42--2010/ISO10303-42:2003geometric_set_replica复制几何集geometric_set_select几何集选择geometricallyfounded几何建立的geometricallyrelated几何相关的get—basis_surface(function)获取基曲面halLspace_2d二维半空间halLspace_solid半空间实体handle柄hexahedron_volume六面体homeomorphie胚hyperbola双曲线lnside内部integratedresource集合资源内部交intersection_curve交线knot—type节点类型line直线list表listfaceloopsfunction面环表list_loop_edgesfunction面边表list_oLreversible_topology_item可逆拓扑项表list_oLtopology_reversed(function)逆拓扑表list—shell—edges(function)壳边表list—shellfaces(function)壳面表list—shell_loops(function)壳环表list_to—array表到数组list_to_set(function)由表建立集合loop环make_array_oLarray(function)建立数组的数组makearrayof_array_of-array(function)建立数组的数组的数组manifoldsolidbrep流形实体边界mixedloop—type_set(function)混合环类型集moddlspace模式空间msb—shells(function)msb壳Normalize(function)规范化213 GB/T16656.42—2010/ISO10303-42:2003表(续)offset_curve一2d二维偏置曲线offset—.curve—。3d三维偏置曲线offsetsurfaee偏置曲面开曲线opensurface开曲面open_path开路径open_shell开壳open_shell—reversed(function)逆开壳orientahle有向的oriented-closedshell有向封闭壳oriented-edge有向边orientedface有向面oriented—open_shell有向开壳orientedoath有向路径oriented—surface有向曲面orthogonal_complement(function)正交补outer_boundary_curve外边界曲线overlap重叠parabola抛物线parameterrange参数范围parameterspace参数空间parametric_volume参数体path路径path-head—to_tail(function)路径首尾pathreversed(function)逆路径参数域曲线pcurveorsurface参数域曲线或曲面placement位置placementcoordinate相关位置plane平面point点pomt_In—volUme体积点poInt_orLcurve曲线上的点point—on_suriace曲面上的点point—replica复制点polar_point极坐标点214 表(续)GB/T16656.42—2010/ISO10303-42:2003poly_loop多边环polygonal—area多边形区域polyline,折线preferredsurfacecurve_representation推荐的曲面曲线的表示形式primitive_2d二维体紊pyramidvolume棱锥体quasi—.uniform—.curve准均匀曲线quasi_uniform—surface、准均匀曲面quasi_uniform_volume准均匀体rational—.b——splinecurve有理B样条曲线rational_b-splinesurface有理B样条曲面rational—.b—.spline——volume有理B样条体rectangle—domain矩形区域rectangled—haiLspace直角半空间rectangular_area矩形区域rectangular_composite_surface矩形复合曲面rectangular_pyramid正直角锥形rectangular_trimrned-surface矩形剪裁曲面reparametrised-composite—curve—segment再参数化复合曲线段repreSentation—context表示环境revolved_areasolid回转区域实体revolvedfacesolid回转面实体reversibletopology可逆拓扑reversible—topologyitem可逆的拓扑项right—angular_wedge正角楔形right_circular_cone正圆锥体right—circular_cylinder正圆柱体sameside(function)同侧scalar_times—vector(function)标量乘向量接合面曲线seamedge逢合边second_proj—axis(function)二次投影轴sectioned—spme带有截面线的脊线selLintersect自相交selLloop自环集合215 GB/T16656.42—2010/too10303-42:2003表(续)set——oCreversible—.topology——item可逆拓扑项集set—oCtopology_reversed(function)逆拓扑集shellshell—basensurface_model基于壳的表面模型shelLbase疋wireframe_model基于壳的线框模型shell—reversed(function)逆壳solidmodel宴体模型solid—replica复制实体spacedimensionality空间维度sphere球体spherical_point球坐标点sphericaLsurface球面spherical—volume球体subedge子边subface子面曲面surface_boundary曲面边界曲面曲线surface_curve—.swept——area——solid曲面曲线扫描区域实体surface_curve—swept_facesolid曲面曲线扫描面实体surface_curve_swept—surface曲面曲线扫描曲面surface_moclet表面模型surface_oLlinear_extrusion线性延拓曲面surface_oLrevolution旋转曲面surface_patch曲面片surface_replica复制曲面surface_weightspositive(function)曲面权因子值为正数swept_areasolid扫描区域实体swept_disksolid扫描圆盘实体swept_face_solid扫描面实体swept—sunace扫描曲面tetrahedron四面体tetrahedron—volume四面体topological_representation_item拓扑表示项topology_reversed(function)逆拓扑toroidaLsurface圆环面216 表(续)GB/T16656.42—2010/ISO10303—42:2003toroidalvolume环体圆环体transition_code过渡代码trlmmeal_curve剪裁曲线trimmed_volume裁剪体’trimming_preference剪裁优先权trimming_select剪裁选择topologicalsense拓扑方向均匀曲线uniformsurface均匀曲面uniform_volume均匀体Union合Vector向量vector_difference(function)向量差vector_ordirection向量或方向vector_sum(function)向量和Vertex顶点vertex_loop顶点环vertex_point顶点点vertexpoint_pcurves(function)顶点点相联的参数域曲线vertex_shell顶点壳体volume_weights_positive(function)体的权因子为正wedge_volume楔体wire_shell线壳wireframe—model线框模型217 GB/T16656.42—2010/ISO10303-42:2003参考文献[11FARIN,G.CurvesandSurfacesforComputerAidedGeometricDesign,AcademicPress,1988.[2]BARTELS,BEATTYandBARSKY.SplinesinComputerGraphicsandGeometricModelling,MorganKaufman,1987.[3]TheInitialGraphicsExchangeSpecifieation(IGES)Version5.1,USProductDataAssociation,1991.[4]WILSON,P.R.EiderFormulasandGeometricModeling,IEEEComputerGraphics,Applications,V01.5,NOB,PP.24—36,August1985.[5]InitialGraphicsExchangeSpecifcation(1GES)Version5.3;USProductDataAssociation;ANSUSPROAPo100一1996.[6]PIEGL,L,TILLER,W.TheNURBSBook;Springer—Verlag,1995.[7]PRAiT,M.J.CyclidesinComputerAidedGeometricDesign;ComputerAidedGeometricDesign221-242.(1990).[8]PRATT,M.J.CyclidesinComputerAidedGeometricDesignII;ComputerAidedGeometricDesignl2,131152.(1995).[9]WILSON,P.R.EuterFormulasandGeometricModeling;IEEEComputerGraphics&Applications,1985,5(8):2436.218 索GB/T16656.42—2010/ISO10303—42:2003above_plane‘‘‘’’’‘‘’‘‘··‘‘‘‘’‘‘’。···‘‘‘‘。’’’······‘‘‘‘。一--·······‘·········‘‘··-··········--············---·········4.6.32acyclic_curvereplica········‘··········,···-·············-·-····················----········---···-·······-·--···4.6.2acyclic_pointreplica··-···········---········-·--························-·-······················---···············4.6.3acyelic_sel_replica‘。⋯··⋯⋯‘⋯⋯⋯⋯·⋯⋯⋯⋯⋯····⋯·····-··⋯⋯⋯⋯⋯⋯⋯·-⋯·⋯⋯⋯⋯⋯6.5.2acyclic_solidjeplica⋯⋯⋯⋯⋯⋯⋯⋯⋯-·····⋯···⋯⋯⋯⋯⋯⋯·⋯⋯··⋯⋯⋯⋯---⋯⋯⋯--··一6.5.1acyclic_surface_replica······‘‘一·---········--············-··-······--·-······················-··········-·-一·····”4.6.4associatedsnrface·············-······················-··--···················--·--································一4.6.5axisl_placement⋯⋯·····⋯⋯·⋯-·⋯⋯⋯·⋯⋯⋯⋯--·⋯⋯⋯⋯⋯⋯···-⋯··⋯⋯⋯⋯⋯⋯⋯--·4.4.17axis2_placement---⋯··⋯⋯-⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-·⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯”4.3.10axis2_placement_2d⋯······⋯⋯····-⋯···⋯··⋯⋯⋯⋯··--····⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯一4.4.18axis2_placement一3d···⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯--·-⋯⋯⋯⋯⋯⋯···⋯⋯·····⋯⋯⋯⋯⋯⋯⋯4.4.19b_spline_curve···‘‘‘。·······‘‘‘‘‘········‘‘····························--·······················--···········-····”4.4.34b_spline_curve_foem······-··············-··················································-········--···········一4.3.3b_spline_curve_with_knots··’··········································,·······················,··············-“4.4.35b_spline_surface·‘’‘·······‘‘‘‘···········-·········‘··--·-········-···············-·······-············---······”4.4.69b_spline_surface_with_knots······--····································-···········-···-···················---·4.4.70b_splinevolume‘‘‘‘······‘‘‘’。········‘‘‘-························-·········-··--··········--··················-··4.4.95b_spline_volumewith_knots⋯⋯⋯⋯⋯⋯⋯⋯⋯···--⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4.4.96b_spline_surface_form·····················--···-·······----·······················⋯············-··············“4.3.4base_axis···········-·····-··-············-········································-·········--··-··················-4.4.6beziercurve······-·······-··-···································-···········-···············-·-······--·-···········4.4.38bezier_surface······-·········-·--··········---·-·····-·--·························-······························“4.4.73beziervolume···········-···········-··-···········-·-·········-···········----··························-·········4.4.97block··········-·········-··················,····-···········-···········-··············--········--··-··········--·-“6.4.8block_volume····--·······················-···········-··-·········-·-··········--·-·····························”4.4.85booleanchoose··⋯·⋯···--⋯⋯·-·--⋯·⋯····⋯··⋯·⋯⋯-··⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯---⋯⋯⋯⋯5.5.12booleanoperand⋯⋯‘。‘。。。⋯⋯‘。。。。⋯·⋯‘‘‘‘。⋯⋯⋯‘⋯···⋯⋯⋯··⋯·⋯--·-·⋯⋯-⋯⋯⋯⋯⋯⋯6.3.1boolean_operator·⋯··⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯--⋯·⋯⋯···⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯···⋯6.3.2booleanresult··-············-一········-·--·-········-·-·······-························-···············-·········一6.4.7boundary_curve·····················-···········--··········--·······················--······-----··········-···..4.4.77bounded_curve···--·---···················-··············--·········--·--········-·········-···············-·-····“4.4.32bounded_pcurve·····················--··-·······························--··········--···········--···········-·一4.4.45bounded_surface·····-························--·········-·········-····································--·······”4.4.68boundedsurface_curve····-·························································-··-·······-·---········-·~4.4.49box_domain⋯⋯⋯⋯⋯⋯⋯⋯····⋯⋯⋯⋯··⋯·⋯⋯-⋯·⋯⋯⋯⋯·⋯··⋯····⋯⋯⋯⋯·?⋯⋯⋯6.4.23boxed_half_space····-----·······--·········--·-···················-··-···········-························-········6.4.22brep一2d············-·-··-···················-·---·························································-··-······”6.4.5brep_with_voids⋯⋯⋯⋯⋯⋯··⋯⋯⋯······⋯⋯⋯⋯···-··-⋯⋯⋯·-·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6.4.3build.axes⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4.6.7build_axes‘‘‘。’‘‘‘‘’’····⋯···⋯···⋯⋯⋯⋯-···-··················-··--·-⋯⋯···..·········.......⋯⋯⋯...4.6.8219 GB/T16656.42—2010/IS010303—42:2003build_traⅡsformed_set⋯⋯⋯⋯⋯⋯----···⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯----·⋯⋯····⋯‘‘⋯·⋯。‘。一6.5.5cartesian_point⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·----··⋯⋯⋯⋯⋯⋯⋯··-⋯⋯⋯⋯’。⋯‘⋯⋯’。’。。‘‘‘⋯⋯4.4.4cartesian_transformationoperator⋯--·--⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯_⋯⋯⋯_·__‘⋯⋯⋯。。。4.4.20cartesian_transformation_operator_.2d⋯⋯--·⋯⋯⋯⋯⋯⋯⋯⋯--·⋯⋯⋯⋯⋯‘⋯⋯⋯。。‘‘⋯⋯‘4.4.22cartesian_transformation_operator_3d···········-··-·-····⋯············⋯············。‘···-··’’’’‘⋯‘。‘‘‘4.4.21circle⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯--.⋯⋯⋯⋯⋯⋯··⋯·⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯~4.4.26circalm_area⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6.4.25circularinvolute--.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4.4.31closed_shell.---·····...-----·········································-·······-··············--·-······⋯‘···‘‘‘‘’’‘5.4.27dosed_shelLrevecsed······-·············-·························-················‘‘········⋯‘。‘‘‘⋯‘’‘⋯‘‘。‘’’5.5。8cIothoid⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯···--⋯⋯⋯4.4.30compesite_curve_on_surface···················-·············-··--·············⋯···········-····⋯。‘··。‘‘‘’’’4.4.50compositccHive⋯⋯⋯⋯--·-⋯⋯⋯-⋯-⋯⋯⋯⋯⋯⋯·⋯⋯-·-⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯~4.4.41composite_curve_segment⋯⋯⋯⋯⋯⋯⋯⋯⋯-⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯_·_·⋯⋯⋯-。。⋯‘4.4.42conditionaireverse⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯5.5.1conic⋯⋯⋯.⋯⋯⋯.....-.⋯⋯..-.⋯⋯⋯⋯⋯⋯⋯⋯--·-⋯⋯⋯⋯--⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4.4.25conical_surface⋯⋯⋯⋯⋯--·--⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯--⋯⋯⋯⋯___·⋯⋯⋯⋯⋯⋯⋯⋯4.4.58connected_edge_set·······⋯····-----一·······--·---···········-·-········-----·⋯·······-··‘⋯t·‘···__·__·‘‘‘‘‘‘5.4.30connected—face_.set⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-··⋯⋯⋯⋯⋯⋯6.4.22connected_face_sub-set--························-·········-··一-··············⋯········--·-······⋯‘····‘+’’‘。5.4.29constraintscomposite_curve_on-surface···················--··········-·--·-···········-·······‘‘‘‘···。++’”4.6.24constraints_.geometry_shellbased_surface_model··-·······‘‘__··········‘‘·‘‘‘‘‘‘‘’’‘⋯‘。’‘‘’+‘’‘’⋯‘’‘。。‘6.5.3constcaints_geometryshellbased_wireframe_model⋯⋯⋯⋯⋯--·-⋯⋯⋯⋯⋯⋯⋯⋯⋯。⋯+⋯⋯6.5-4constraintsparam_b-spline⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4.6.22constraintsrectangular_camposite_surface--·-···························⋯·····--·--··········__·_‘⋯’‘‘‘4.6.28convex_hexahedron⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯--·-⋯⋯⋯··⋯⋯⋯⋯⋯⋯⋯⋯-_·__⋯⋯⋯‘⋯⋯6.4.13cross_product···-...-...⋯·························⋯···--····················⋯····-··-···⋯···--。‘‘‘‘··++’‘‘。4.6.12csg_primitive···············⋯···········-···⋯··---·_·························_···’‘’。。‘···__‘‘’‘’‘’⋯‘‘。‘⋯‘‘‘‘‘6.3·3esgselect⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯--·-⋯·⋯⋯·⋯⋯⋯⋯。。。。⋯⋯⋯⋯⋯⋯⋯⋯。’。。‘6.3.4esg_solid⋯⋯⋯⋯⋯⋯⋯⋯⋯-⋯⋯⋯⋯⋯⋯⋯⋯⋯-⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6.4.6curve.⋯⋯..⋯⋯⋯⋯...⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一--⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-⋯⋯⋯⋯⋯”4.4.23curve_bounded_surface⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯··__⋯⋯‘⋯。。。4.4.76curve_onsurface⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-⋯⋯⋯⋯⋯⋯⋯⋯⋯----⋯⋯⋯⋯。⋯‘⋯⋯’。’’。‘‘。⋯⋯4.3.11curve_replica··········.·.·························-·---············-········----···············_····⋯。’‘··‘‘‘‘‘‘4.4.53curveweights_positive⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯-·-⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯”4.6.23cyclide_segment-solid·········--·-···⋯··-----····⋯········⋯···_··_··········‘‘·_········‘‘‘··__‘。‘’‘+‘‘‘‘。。。6.4.20cylindrical_point⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯”4.4.5cylindrical_surface····...····-········-----·········-·-·······⋯·--·-·············_···············‘⋯’’‘‘·‘‘‘‘‘‘4.4.57cylindrical_volume--··⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯-·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4.4.91default_b_spline_knots·⋯··································-··⋯···········⋯‘‘‘‘·__·_-··’+‘‘‘··’。。‘‘‘‘’‘‘‘。’4.6.19defauit_b_spline_surface_weights····-··-··················⋯···············-·‘‘‘‘‘·······‘。‘‘。‘‘‘’’‘’。。‘‘‘‘‘’4.6.21defaultb_spline_knot_mult⋯⋯⋯⋯⋯⋯⋯⋯--·⋯⋯⋯⋯--⋯⋯⋯·--⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯4.6.18degenerate_pcurve⋯⋯一⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯---⋯⋯_’’。。⋯⋯⋯‘⋯⋯⋯⋯‘。‘。。‘4.4.12220 degenerate_toroidal_surface·················-··dimension_count······-··························dimension_of·,···-·················-··-···········-direction·····-··················......·············.dot_product····························---·-········dummy_gri‘‘’。······‘‘‘‘‘‘·············-············一dummytri························--·-----···········dupincyclide_surface·‘‘··············-··-········eccentric_cone·····-·············-·------···········eccentric_conicalvolume····-·--·--··········--edge‘‘+’‘‘‘。‘。。。’’‘’’‘’’‘‘‘‘‘‘。’·········‘‘‘‘‘‘‘。’’·,edge_based_wirefeame_model······-·----········edge_curve’’’‘‘‘‘‘‘‘‘‘’’‘’····‘‘···············‘‘‘‘··edge_eurve_peurves··‘。。‘-·························edge_loop’‘。。。‘·······‘‘‘‘’···········-··----········edge_reversed‘··································-··-·elementary_surface--······························ellipse········-··-····················-···········-·-ellipsoid‘‘‘‘‘一---···········--·-··-···········-----·ellipsoid_volume--···········-·-----············-··elliptic_area‘‘·············--·--·-··········-··-·····evaluateddegenerate_pcurve···--·----··········extent_enumeration·····--·-·--···················extraded_area_solid·····-··························extruded_facejsolid--··········--·--··········--···face······-··-----························-··-········facebased.surface_model····-------············face_bound·········································face_bound_reversed···-··-························face_outer_bound·⋯-⋯⋯⋯··-·--··⋯⋯⋯·face_reversed····-·············-----··········--·-··-face_surface---·········------············--··-···-··facetedbrep········-··-···········------··········-faceted_primitive·················-··-··-···········first_proj_axis········‘‘‘。--·············-··--·-····fixed_reference_swept_surface·················geometric_curveset·····-··-··············-··-··geometric_representation_context·············geometric_representation_item··············‘‘··-geometric_set·‘‘‘‘‘‘’‘’‘‘·····················‘‘···geometric_set_replica·····-··-·············----·-·geometric_set_select·······················-··--·-·get_basissurface···································GB/T16656.42—2010/ISO{0303—42:2003 GB/T16656.42—2010/1SO10303—42:2003half_space3d‘‘·‘········’’。‘。‘‘‘‘‘。‘‘+‘++’‘+‘‘‘‘‘‘’‘‘‘’‘‘‘halfspace_solid‘‘’‘‘‘‘’‘‘‘’’‘‘‘‘‘‘。‘。。’。。‘。。‘‘‘+++’+⋯‘’‘hexahedronvolume·····-··-··-···-··‘················‘‘···hyperbola····‘‘‘‘‘‘········‘‘‘‘‘。’‘。‘’‘‘‘‘’‘’’‘‘’’’’。‘。‘‘‘‘‘‘intersection_curve·⋯⋯⋯⋯⋯⋯⋯‘。‘‘‘⋯⋯⋯。。’。knoLtype⋯⋯’⋯⋯⋯‘‘‘⋯⋯⋯⋯。‘。。‘。‘‘‘⋯⋯⋯“line··---·--···············-··························-·······lisLfaeeloops···········一‘‘‘‘‘‘·····’’‘’‘‘’‘‘‘‘‘‘‘·‘··+‘‘‘‘list_Ioop_edges⋯⋯⋯⋯。。。。。‘‘⋯’⋯⋯‘。⋯。‘。。‘。‘⋯~list_oLreversibletopology—item。‘‘‘⋯⋯⋯’。⋯。。’。list_of_topology_reversed‘’‘‘‘‘‘‘‘’‘‘‘‘‘。’’‘‘‘‘’‘‘‘‘‘‘‘‘list_shell_edges‘‘······-‘’’’’‘‘‘。‘‘‘’’’’’‘‘‘‘‘‘。‘‘’’’。‘。‘‘list-shell_faees···········-‘··········’‘‘‘‘‘‘‘‘‘‘‘·‘····。’’。’list_shelljoops⋯⋯⋯⋯⋯⋯‘⋯⋯⋯⋯⋯⋯⋯‘。‘listjo_array‘‘‘‘‘‘‘‘‘‘⋯’’⋯。‘‘‘⋯⋯⋯’⋯⋯‘⋯⋯‘nsUoset⋯··⋯··-------一‘‘‘⋯⋯⋯⋯⋯‘‘‘‘‘⋯⋯⋯’’loop········-·’。‘‘‘‘‘‘‘‘····。’’’’。。。’。。‘‘‘‘++’‘‘‘‘+‘‘‘’’。‘‘‘。‘make_array_of_array‘‘。‘’‘‘‘‘‘‘。。。‘。。‘‘‘‘’’++‘‘+‘‘‘‘‘’‘‘‘make_array_of_array_of_array··‘‘‘’。。‘。。‘。。‘‘‘‘··‘‘‘‘‘manifold_solid_brep····‘‘‘‘‘‘‘’。。‘‘‘‘‘‘‘++’+‘’‘‘‘‘‘’’‘。‘‘mixed_loop_type_set·⋯‘’‘。’‘‘‘‘’。’‘。‘‘’’’‘’‘‘‘‘‘‘‘‘。。‘。msb_shells··············-·----·············-·················normalize--·--························-····················-·offset_curve_2d-··⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯‘offset_curve3d⋯⋯--·--····⋯⋯⋯⋯·⋯···⋯⋯⋯offset_surface·--··-···············-··-·····················open_path‘’。。’’‘‘。‘‘。‘‘‘‘‘‘’’‘‘‘‘‘‘‘’’。’。。’‘。‘‘‘‘‘+’’+‘‘‘‘open_shell·‘‘’···········‘‘’‘’‘‘·‘··‘‘‘‘‘。。’’’’’‘‘’‘‘‘‘’’‘‘open_shell_reversed‘‘‘‘‘‘‘‘’’’‘。‘‘‘‘‘‘‘‘‘‘+’’+‘‘+‘‘‘’‘‘‘‘oriented_closed_shell····················-··--··-·········oriented_edge‘‘‘‘’‘’’‘’‘‘‘‘‘’。。。。‘‘‘‘‘‘’++‘‘‘+’’‘’‘‘‘‘’‘‘‘‘‘oriented_faee···--··-···············’‘‘‘‘‘‘‘‘·········‘。。‘。oriented_openshell······‘‘‘‘‘‘‘‘‘‘⋯+’。。’‘‘’‘‘’‘’‘‘‘‘‘‘’‘oriented_path。。‘‘‘‘‘‘‘‘‘+‘‘+‘’‘。’‘‘‘‘‘‘‘‘‘‘‘‘’+‘’‘‘‘。’’’’。。oriented_surface········-···-·························‘‘·‘·orthogonai_eomplement。。’。。。‘’’’’’’’’’’’’’’’’’’。‘。。‘。。outer_boundary_curve···‘‘‘‘‘‘‘····+’’。’。‘’。‘‘‘‘‘‘‘·⋯+’‘parabola‘‘‘‘‘‘’’‘++‘+‘。‘’’’’。‘‘‘‘‘‘‘‘‘’‘+‘。‘’’。’’‘。‘‘‘‘‘‘‘‘path‘‘·······。。。。。‘‘‘‘‘···‘+‘‘‘。。‘’‘‘’‘‘‘‘‘+‘’‘‘’‘‘‘‘‘’’’。‘‘path—head—totail··‘·⋯‘’‘‘’‘’‘’’‘’‘‘‘‘‘‘’‘‘‘‘’。’。’‘。‘‘path_reversed‘‘’’‘。‘。’’‘‘’‘。‘‘‘‘‘‘’‘’’’’’。‘’。‘‘‘‘‘‘‘‘‘‘+‘’+‘pcurve。‘‘‘‘‘‘’+‘+’’。’。。‘。。’‘‘‘’’’++。‘‘’‘‘’‘‘‘‘‘‘‘‘’’’‘’。。。’’peurve_or-surface·····‘。。‘。。‘‘‘···‘+‘‘‘‘‘‘‘‘’。‘‘‘’‘⋯’‘222⋯⋯⋯⋯6.4.29.........⋯6.4.21··.·..--.·-·4.4.89········.···4.4.28·---········4.4.47·⋯⋯⋯⋯4.3.6··.......⋯4.4.24⋯⋯⋯⋯5.5.14⋯⋯⋯⋯5.5.15⋯⋯⋯⋯5.5.11⋯⋯⋯-··5.5.16⋯⋯⋯⋯5.5.17⋯⋯⋯·..5.5.18-········⋯4.6.29⋯⋯⋯⋯5.5.20⋯⋯⋯一5.4.12·········⋯4.6.30⋯⋯⋯⋯4.6.31·········⋯··6.4.2⋯⋯⋯⋯5.5.19⋯⋯⋯⋯”6.5.6⋯⋯⋯⋯4.6.14⋯⋯⋯⋯4:4.51···......-一4.4.52--·-·····⋯4.4.81⋯⋯⋯⋯5.4.11⋯⋯⋯一5.4.25⋯⋯⋯⋯“5.5.9.....-...⋯5.4.28⋯⋯⋯··-一5.4.6-··-··-···⋯5.4.20······....一5.4.26⋯·⋯⋯⋯5.4.10······....一4.4.82-·⋯⋯⋯⋯4.6.9··----·--··-.4.4.78····...------4.4.29·········⋯··5.4.9⋯⋯⋯⋯·5.5.13⋯⋯⋯⋯··5.5.4······-···⋯4.4.44⋯.⋯⋯一4.3.12 placement··························-··-··············---··plane······‘‘·一·····,·······一··········-·····--·············point‘‘‘‘‘‘-···········---····························-·-··point_oncurve················-·-·-············--·······point_on_surface············--·-···········--·--·······point_on_volume···············--··········-----········point_replica······································-··-·polar_point··-··········································poly_loop·’-··············································polygonal—area···----·-··············-··············-····polyline‘‘········-···········-··························preferred_surface_curverepresentation············primitive一2d···-·······-·······-·······················pyramid_volume····················-··-··········-·--·-quasi—uniform_curve·-································quasiuniform_surface····················-··-··-····quasi_uniform_volume····-·····----·-···············rational—h_spline_curve·······························rational_b_splinesnrface·················-··········一rational—b_spline_volume⋯⋯⋯⋯⋯⋯⋯·-⋯⋯·rectangJle_domain⋯----⋯⋯·-------⋯⋯⋯⋯⋯⋯·-rectangled—haif_space·⋯-·⋯⋯⋯⋯⋯⋯⋯⋯⋯·-rectangulararea·····-············--·--·········-········rectangularcomposite_surface············-··········rectangularpyramid···············--·-·········----···rectangulartrimmed_surface·········-·-··············reparametrised_eomposite_curvesegment···--···-·-reversible_topology···········-························reversible_topolog)7jtem⋯⋯⋯⋯⋯·⋯⋯·⋯····revolved_area_solid·········-···························revolved_face_solid······-··-···························right_angular_wedge--·······················-·-········rjghLcircular_cone···⋯··⋯···⋯·⋯⋯···⋯⋯⋯·right_cireular_cylinder···,·······-··········-·-······sameside·········-············-··························scalar_timesvector··············-··-········--·-·······seam—_curve。⋯·‘⋯-·····⋯····-·····⋯········⋯⋯·seam_edge···‘‘·············-··--··········--·············second—proj_axis·······-----·········--···········-·····sectioned_spine··················一·····················,setofreversible_topologyjtem⋯⋯······⋯⋯⋯set_oLtopologyreversed⋯⋯⋯⋯⋯⋯⋯⋯⋯·shell-·-··....··...-.......................................GB/T16656.42—2010/ISO10303-4212003 GB/T16656.42—2010/ISO10303-42:2003··········-··-···6.4.43··-----..·····-一6.4.45⋯⋯⋯⋯⋯⋯5.5.7·⋯⋯⋯-···⋯·6.4.1-·--·--·······--·6.4.42⋯⋯⋯⋯⋯一6.4.14··················4.4.6-···-·········--·4.4.59·······-··-······4.4.90⋯⋯⋯⋯⋯⋯5.4.8⋯⋯⋯⋯⋯“5.4.21·········--··-···4.4.54⋯⋯⋯⋯⋯一4.3.13····,············4.4.46······-·--·-···”6.4.39····....·········6.4.35········-·-······4.4.66⋯⋯⋯⋯⋯⋯6.3.6··-·..········---4.4.64···············“4.4.65·-·----········-·4.4.80··········-······4.4.83·····--········--4.6.26····-...········-6.4.36········-·-····“6.4.40··--.·······----·6.4.32·················4.4.63⋯⋯⋯⋯⋯--6.4.12⋯⋯⋯⋯⋯--4.4.88⋯⋯---··⋯⋯·5.4.1⋯⋯⋯⋯⋯⋯5.5.2·················4.4.60·-··....·····-···4.4.93⋯⋯⋯-·-·⋯·6.4.18⋯⋯⋯⋯·⋯⋯4.3.8·······-----·····4.4.40⋯⋯⋯⋯⋯··6.4.41·--·..·····-·----“4.3.9--⋯⋯⋯⋯⋯4.3.14············-·-..4.4.36⋯⋯⋯⋯⋯··4.4.71-·······-----····4.4.98⋯⋯⋯⋯⋯“4.4.15 vectordifference·vector_or_directionvector_sum‘。‘‘‘‘‘‘vertex···············vertex—loop’‘‘‘‘‘‘vertex_point’‘‘‘‘‘vertex_point_peurves‘‘。vertexshell···············volume····-················volume_weights_positivewedge_volume’’’’’‘‘‘‘‘‘’wire_shell··················wireframemodel⋯··t·GB/T16656.42—201O/ISO10303·42:2003⋯⋯⋯⋯一4.6.17⋯·⋯⋯⋯·4.3.15⋯⋯⋯⋯一4.6.16···--·······-··5.42··⋯···⋯⋯5.4.13···············5.4.3⋯⋯⋯⋯··5.5.22⋯⋯⋯⋯一5.4.23····-·-·······4.4.84··············4.6.27⋯⋯⋯⋯“4.4.86··············5.4.24⋯⋯⋯⋯⋯6.3.7'

您可能关注的文档