ICS01.100.01 CCSJ04 团体标准 T/SCGS305001—2024 信息技术形状建模信息表示第5部分:体表示 Informationtechnology—Shapemodelinginformationrepresentation—Part5:Volumerepresentation 2024-04-16发布2024-04-17实施中国图学学会发布目次前言………………………………………………………………………………………………………… Ⅲ 引言………………………………………………………………………………………………………… Ⅳ 1 范围……………………………………………………………………………………………………… 1 2 规范性引用文件………………………………………………………………………………………… 1 3 术语和定义……………………………………………………………………………………………… 1 4 CSG体…………………………………………………………………………………………………… 4 4.1 四面体及表示……………………………………………………………………………………… 4 4.2 六面体及表示……………………………………………………………………………………… 5 4.3 圆锥体及表示……………………………………………………………………………………… 6 4.4 圆柱体及表示……………………………………………………………………………………… 7 4.5 四棱锥体及表示…………………………………………………………………………………… 7 4.6 正多棱锥体及表示………………………………………………………………………………… 8 4.7 球体及表示………………………………………………………………………………………… 8 4.8 圆环体及表示……………………………………………………………………………………… 9 4.9 布尔运算体及表示………………………………………………………………………………… 9 5 参数体…………………………………………………………………………………………………… 10 5.1 NURBS体及表示………………………………………………………………………………… 10 5.2 拉伸体及表示……………………………………………………………………………………… 11 5.3 回转体及表示……………………………………………………………………………………… 12 5.4 扫掠体及表示……………………………………………………………………………………… 13 5.5 放样体及表示……………………………………………………………………………………… 14 6 细分体…………………………………………………………………………………………………… 15 6.1 细分曲线及表示…………………………………………………………………………………… 15 6.2 细分曲面及表示…………………………………………………………………………………… 15 6.3 细分体及表示……………………………………………………………………………………… 16 7 离散网格体的结构表示………………………………………………………………………………… 17 8 几何体的体表示………………………………………………………………………………………… 17 8.1 几何体的语义特征框架…………………………………………………………………………… 17 8.2 几何体的体表示结构……………………………………………………………………………… 18 参考文献…………………………………………………………………………………………………… 20 Ⅰ T/SCGS305001—2024 前言本文件按照GB 1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定起草。 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。 本文件由中国图学学会提出并归口。 本文件起草单位:北京大学、北京朗境创新技术有限公司、北京微视威信息科技有限公司、北京云境智仿信息技术有限公司。 本文件主要起草人:汪国平、李胜、盖孟、逄博、郑中天、朱飞、焦莹莹、姜凯瑞、谢宇俊、王淼、汪汝一、 蒋珂、孙永力、赖舜男、张桐源、董立龙。 Ⅲ T/SCGS305001—2024 引言三维模型被广泛应用于产品设计分析、工程建设、数字文娱和国防军事等众多数字化产业中,其模型表示文件格式在各个应用系统之间的数据交换与共享流转中具有重要支撑作用。目前,现有的三维模型文件表示格式,包括3ds、maya、obj、VRML、X3D、STL、IGES、Step、IFC等,还有各种三维建模软件的私有文件格式,林林总总有几十种三维模型文件表示格式,各种三维模型文件表示格式应用领域不同、行业需求不同,造成各种三维模型表示格式的内容侧重点有所不同。随着数字化技术快速发展,三维数字化应用日益广泛,对三维模型表示的需求也日益增长,三维模型数量和种类日趋复杂多样。 目前,不同行业乃至同一行业中的不同单位,出于对各个三维建模软件的功能特点考虑,在产品设计过程中经常会使用多种不同的三维建模软件,并需要在各个设计阶段使用不同的三维建模软件,各种商用三维建模系统都有三维模型表示的私有格式,各种系统的模型私有格式互不兼容,各种商用系统的模型格式转换需要借助IGES、STEP等中间文件格式,在文件格式转换过程中,存在模型表示精度和表示信息的缺失或者错误等不少问题,严重影响了产品设计效率,也严重影响了不同企业之间的数据流转效率。 GB 36341《信息技术形状建模信息表示》旨在解决上述问题,拟由六个部分组成: ———第1部分:体系结构和基础组件。目的在于确定该标准的整体框架。 ———第2部分:形状表示与特征约束。目的在于定义实体中具有特定语义的结构以及建模过程中特征需满足的约束条件。 ———第3部分:流式传输。目的在于规定形状信息建模表示中流式传输文件格式和传输过程。 ———第4部分:存储格式。目的在于对标准中定义的实体、形体、特征、特征约束信息数据的存储格式。 ———第5部分:体表示。目的在于解决三维模型体的几何和拓扑结构表示问题。 ———第6部分:属性扩展表示。目的在于解决三维模型中属性的层次表示结构、属性按需组织与调用机制、属性表示可扩展性等问题。 当前三维模型表示大多采用BRep表示,在三维模型文件表示标准中,模型表示格式标准还包括 TC10-SC6(侧重在机械产品表示)、TC10-SC8(侧重在建筑模型表示)、ISO16792、ISO/TC184(侧重在标准模型表示)等,还包括国外的X3D、3ds、maya、obj、VRML、X3D、STL、IGES、Step、IFC等众多标准格式,这些标准都可以表示三维模型表面的各种不同信息。但是都缺乏对体模型的几何表示,这对于三维模型在CAD和CAE一体化表示中带来困难,从CAD 到CAE的数据表示中,需要进行模型内部的网格剖分等步骤,造成CAD 和CAE 的模型格式表示具有较大差异,不利于CAD/CAE 一体化的发展,不利于产品设计分析效率的提升。因此,本文件需要对模型的体表示进行统一的规范定义。 Ⅳ T/SCGS305001—2024 信息技术形状建模信息表示第5部分:体表示 1 范围本文件规定了CSG体、参数体、细分体的表示要求,以及离散网格体的结构表示、几何体的体表示要求。 本文件适用于CAD、CAE、虚拟现实、物理仿真、数字孪生和元宇宙等领域的开发和应用活动。 2 规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 GB 5271.1 信息技术词汇第1部分:基本术语 GB 20000.1 标准化工作指南第1部分:标准化和相关活动的通用术语 GB 36341(所有部分) 信息技术形状建模信息表示 3 术语和定义 GB 5271.1、GB 20000.1、GB 36341(所有部分)界定的以及下列术语和定义适用于本文件。 3.1 参数体 parametricvolume 三维模型通过参数域定义的几何形体。 注:通过参数曲面拓展得到,通过拉伸、回转、扫掠和放样等三维建模操作和模型部件求交和布尔运算等操作形成。 3.2 布尔运算 booloperation 包括形体之间的并、交、差运算。 3.3 构造实体几何体 constructivesolidgeometry;CSG 由基本体素表示,也可以对基本体素通过布尔运算的结果来表示。 注:这里的基本体素是指典型的几何形体,包括四面体(tetrahedron)、六面体(hexahedron)、长方体(rectangular- Block)、圆锥(rightCircularCone)、圆柱(rightCircularCylinder)、四棱锥(rectangularPyramid)、球体(sphere)等。 为了CSG体的完整表示,这里将这些典型的几何形体称为CSG的基本体素,基本体素也称为基本体。传统的 SCG表示是表面表示,在本文件中,我们定义基本体素是体表示,SCG也是体表示。基本体素数据也可以存储于info3D参数信息块中,为参数体的扩展。 3.4 细分 subdivision 将一条离散线段,或者一个多边形网格面或一个多面网格体按照一定的几何分裂规则和拓扑连接规则分割成更小的离散线段,或者多边形网格面或多面网格体的过程,一般分别称为线细分、面细分和 1 T/SCGS305001—2024 体细分。这个过程通常用来增加模型的几何细节或者表面平滑度,以获得更精细的几何外观。体细分一般用于将一个体积或实体对象划分为更小的子体积或单元,通常在形状设计或者仿真分析领域中使用。 3.5 细分体 subdivisionvolume 初始多面网格体通过细分格式的多次分裂形成的多面网格实体,包括实体的表面网格细分的表面细分网格和内部细分网格体表示的体。表面细分网格和内部细分网格体是一体的,但是通常情况下,体细分的表面细分网格与内部细分网格具有一定的独立性。 3.6 细分格式 subdivisionscheme 包括计算形成新顶点位置的几何规则以及连接新顶点形成新的顶点连接关系的拓扑规则组成的网格分裂计算方法1)。 注:细分格式根据其作用对象(线、面、体)的不同,可以划分为曲线细分、曲面细分和体细分。根据细分时移动顶点几何位置的规则,可以分为插值型细分(只移动新生成的顶点)、逼近型细分(移动所有顶点)。 3.7 数组表示 arrayrepresentation 被用于存储一个固定大小的相同类型元素的顺序集合的数据结构2)。 3.8 离散网格体 discretedgrid 3.8.1 多面体 polyhedron 多个面缝合形成的闭合体。此闭合体的体积大于零,并且体内部没有顶点之间的连接关系。 注:四面体、六面体都是多面体。 3.8.2 离散网格体 discretegrid 离散网格构成的几何形体。 注:一般采用离散的多面体组合而成,多面体的边一般为直线段,如果多面体的边为曲线段,如Bezier曲线段,则多面体为曲边多面体。 3.8.3 结构体网格 structuredgrid 结构化体网格网格区域内所有的内部点都具有相同的毗邻单元,为六面体。在拓扑结构上矩形区域内的均匀网格,其节点定义在每一层的网格线上,且每一层上节点数都相等。复杂形体进行网格剖分时通常难以生成贴体的结构体网格。 1) 目前常用的细分格式包括catmull-clark细分格式、loop细分格式、蝶形butterfly细分格式、doo-sabin细分格式和3细分格式等很多种细分格式。 2) 本文件中为了方便阅读,使用“array
”指代整型数组,“array”指代双精度数组,“array”指代无符号整型数组,以此类推。 3.8.4 非结构体网格 unstructuredgrid 网格区域内的内部点不一定具有相同的毗邻单元,可以是多种形状,如可以是四面体、六面体、菱形等多面体的组合。 注:也称为混合体网格(hybridgrid)。 2 T/SCGS305001—2024 3.9 几何体 geometricvolume CSG体、参数体和离散网格体及其组合的统称。 注:GSG基本体、独立无拼接的参数体和离散网格体中的多面体,通称为单元体。 3.10 几何体的体表示 volumereprensentatioin (VRep)ofgeometricvolume 对于包含内部结构的几何体,需要有一套结构来表示,便于对几何体的分析计算,这种表示称为体表示(VRep或者V-Rep)。 3.11 正则几何体 regulargeometricvolume 称几何体表面是正则的,如果表面的每一条边有且只有两个面相邻,并且表面每一个顶点的邻域只能在该顶点邻接的一个表面上。或者,如果表面任意一点的邻域与圆盘同胚。 注:正则的几何体表面,是一个二维无边流形,每一个顶点的相邻面连接图是一个连通子图。正则体的表面可以用 B-Rep表示。 满足以下条件的几何体,称为正则几何体或者正则体: a) 几何体表面是正则的; b) 几何体内部的每个面,有且只有一个重合面。 如果几何体是离散网格体,则可以称这个网格体是正则的,或者称为正则体网格。结构体网格是正则体网格。 3.12 几何体的几何结构 geometricstructuresofgeometricvolume 3.12.1 几何体的顶点 pointofgeometricvolume 三维空间中的点。 3.12.2 几何体的边 curveorlineofgeometricvolume 三维空间中的直线段或者曲线段。 注:如果是曲线段,则几何体称为曲面几何体。 3.12.3 几何体的面 surfaceofgeometricvolume 三维空间中的平面片或者曲面片。 3.12.4 几何体的体 bodyofgeometricvolume 由几何体的单元体及其组合构成。所有单元体组合构成一个几何体的体。 3.13 几何体的拓扑结构 topologicalstructuresofgeometricvolume 3.13.1 几何体的拓扑结构 topologicalstructuresofgeometricvolume 几何体的点、线、面、体之间的连接关系。 3.13.2 几何体的顶点 vertexofgeometricvolume 单元体的顶点。 3 T/SCGS305001—2024 3.13.3 几何体的边 edgeofgeometricvolume 几何体中所有单元体的边。 注:如果几何体中两个单元体共边,则这条边为几何体的共边(coEdge)。 3.13.4 几何体的面 faceofgeometricvolume 几何体中各单元体的面。 3.13.5 几何体的表面区域 patchofgeometricvolume 几何体表面的若干面组合构成几何体的表面区域。 3.13.6 几何体块 blockofgeometricvolume 若干单元体连接构成的立体区域。 3.13.7 几何体 volumeofgeometricvolume 有两两共面关系的单元体的集合。 注:相互连接的全部单元体的组合,这种组合满足几何体的正则性。如果几何体都是离散网格体,称为网格体,相应的网格成为体网格。 4 CSG 体 4.1 四面体及表示四面体(tetrahedron)也称三棱锥,是多面体,应由不在同一平面的四点连接成的4个三角形包围构成。四面体几何结构如图1所示。正四面体中,4个三角形应都是正三角形。四面体是一个不可分割的多面体,也称三维单纯形(simplex)。 四面体的几何结构应满足表1的要求,类型ID:tetr。 图1 四面体的几何结构 4 T/SCGS305001—2024 表1 四面体的几何结构参数类型说明是否必须 vert1Coordinate array 由3个双精度浮点数构成,代表四面体中第一个顶点在三维空间中的坐标是 vert2Coordinate array 由3个双精度浮点数构成,代表四面体中第二个顶点在三维空间中的坐标是 vert3Coordinate array 由3个双精度浮点数构成,代表四面体中第三个顶点在三维空间中的坐标是 vert4Coordinate array 由3个双精度浮点数构成,代表四面体中第四个顶点在三维空间中的坐标是 4.2 六面体及表示六面体(hexahedron)是多面体,应由不在同一平面的6个面所围成的,其中每个面的形状应是四边形。正六面体应满足每个面都是正方形。长方体应满足每个面是矩形。 六面体应通过其8个顶点的空间位置和连接关系表示。考虑到许多情况下用户仅需要表示长方体而非任意六面体,本部分表示增加了一个属性isRectangular,用于指示六面体是否为长方体。若is- Rectangular为true,则六面体的几何结构如图2所示。可以使用更紧凑的表达方式。六面体的几何结构应满足表2的要求。若isRectangular为false,则六面体的几何结构如图3所示。 类型ID:hexa。 长方体blck(rectangularBlock)应通过局部坐标系和沿3个正交轴的长度表示。每一个长方体应由3个双精度浮点数分别表示该长方体沿3个坐标轴尺寸大小。长方体底面的中心点位于坐标原点,且长方体向X 轴、Y 轴、Z 轴正方向延伸。 图2 isRectangular为true时六面体的几何结构图3 isRectangular为false时六面体的几何结构 5 T/SCGS305001—2024 表2 六面体的几何结构参数类型说明是否必须 isRectangular bool 用于表示此六面体是否是长方体的属性。若为true,则认为该六面体是长方体。此时,不再读取vertsCoordinate和faces,而是使用更紧凑的xLength,yLength,zLength表示该长方体是 vertsCoordinate array 由24个双精度浮点数构成,代表六面体中所有顶点的空间坐标。每三个双精度浮点数为一组(X ,Y,Z),共8组否 faces array 由24个无符号整数构成,代表六面体中6个面的顶点的索引值。每四个整数为一组,代表了六面体中一个面的顶点的索引,共6组否 xLength double 沿X 轴长否 yLength double 沿Y 轴长否 zLength double 沿Z 轴长否 4.3 圆锥体及表示类型ID:cCon。 圆锥体cCon(circularCone)是一个实体,应由圆形底面和称为顶点的点作为顶部构成,其几何结构如图4所示。Z 轴提供中心轴。从底部到顶部逐渐变细。从圆形底面中心到顶点的轴线垂直于底面。 使用局部坐标系、半径和角度在三维空间中表示。每一个圆锥体应由3个双精度浮点数表示。其中,前两个浮点数表示底部半径和从底部圆心点到顶点的高度;最后一个为可选项,表示从X 轴顺时针转过的角度,默认为360°,即整个圆锥体。圆锥体下底面圆心位于坐标原点。 圆锥体的几何结构应满足表3的要求。 图4 圆锥体的几何结构表3 圆锥体的几何结构参数类型说明是否必须 radius double 底部圆半径是 height double 从底部圆心点到顶点的高度是 angle double 从X 轴顺时针转过的角度, 默认为360°,即整个圆锥体否 6 T/SCGS305001—2024 4.4 圆柱体及表示类型ID:cCyl。 圆柱体cCyl(circularCylinder)是一个实体,应由圆形底部、顶部和距圆柱体轴线固定距离的点形成的圆柱面共同构成,其中Z 轴提供中心轴。圆柱体的几何结构如图5所示。通过局部坐标系与半径在三维空间中表示。每一个圆柱体应由4个双精度浮点数表示,其中前两个浮点数表示底部圆半径和从底部圆心点到顶部圆心点的高度;后两个浮点数为可选项,分别代表从X 轴顺时针转过的角度及圆柱上部圆半径。圆柱体下底面圆心位于坐标原点。 圆柱体的几何结构应满足表4的要求。 表4 圆柱体的几何结构参数类型说明是否必须 radius double 底部圆半径是 height double 从底部圆心点到顶点的高度是 angle double 从X 轴顺时针转过的角度, 默认为360°,即整个圆柱体否图5 圆柱体的几何结构 4.5 四棱锥体及表示类型ID:rPyr。 四棱锥体rPyr(rectangularPyramid)是一个实体,应由矩形底面和称为顶点的点作为顶部构成。 四棱锥体的几何结构如图6所示。从底部到顶部逐渐变细。从底面中心到顶点的轴线垂直于底面。 Z 轴提供中心轴。四棱锥体通过底面矩形的边长和底面中心到顶点的高度来表示。 每一个参数四棱锥体应由3个双精度浮点数表达,分别表示底部沿X 轴长和沿Y 轴长,以及顶点到矩形面的高度。四棱锥体的一个顶点位于坐标原点,四棱锥体向X 轴、Y 轴、Z 轴正方向延伸。 四棱锥体的几何结构应满足表5的要求。 7 T/SCGS305001—2024 图6 四棱锥体几何结构表5 四棱锥体的几何结构参数类型说明是否必须 xLength double 沿X 轴长是 yLength double 沿Y 轴长是 height double 高度是 4.6 正多棱锥体及表示类型ID:gPyr。 对于一般的正多棱锥体,由下述格式来进行表示。正棱锥体gPyr(generalPyramid)是一个实体,应由正多边形底面和称为顶点的点作为顶部构成。从底部到顶部逐渐变细,棱锥的各侧棱都相等,各侧面都是等腰三角形。从底面中心到顶点的轴线垂直于底面,底面被定义在X、Y 平面上。正多棱锥体通过底面正多边形的边长、边的数量和底面中心到顶点的高度来表示。 一个正棱锥的表示应由2个双精度浮点数和1个整型表示,其中两个浮点数分别是正多边形的边长以及顶点到底面的高度;最后一个整数表示该正棱锥的底面正多边形有多少条边。默认正棱锥的底面的中心点位于坐标原点,且正棱锥与Y 轴负方向相交的一条边与X 轴平行。 一般正多棱锥体的几何结构应满足表6的要求。 表6 正多棱锥体的几何结构参数类型说明是否必须 edgeLength double 正多边形边长是 height double 高度是 numEdges int 该多棱锥的底面有几条边, 为大于或等于3的整数是 4.7 球体及表示类型ID:sphV。 8 T/SCGS305001—2024 球体sphV(sphereVolume)是一个实体,满足表面上的所有点到中心点的距离都相同。球体通过局部坐标系和半径在三维空间中表示,球体的几何结构如图7所示。 每一个球体的表示应由3个双精度浮点数表示。其中第一个浮点数表示球的半径,最后两个参数分别表示形成球体的两个旋转角度,可以分别形成球体的一部分。 球体的几何结构应满足表7的要求。 图7 球体的几何结构表7 球体的几何结构参数类型说明是否必须 radius double 球体半径是 xAngle double 在X 轴、Y 轴平面旋转形成的夹角差否 zAngle double 与Z 轴形成的夹角差否 4.8 圆环体及表示类型ID:rinV。 圆环rinV(ringVolume)表示一个空间内的圆环。 每一个圆环体应由3个双精度浮点数表示。其中前两个浮点数分别表示圆环的内径与外径,最后一个参数表示从X 轴顺时针转过的角度,可以用来形成部分圆环。 圆环的几何结构应满足表8的要求。 表8 圆环的几何结构参数类型说明是否必须 innerRadius double 圆环的内径是 outerRadius double 圆环的外径否 angle double 从X 轴顺时针转过的角度, 默认为360°,即整个圆环否 4.9 布尔运算体及表示类型ID:bolV。 简单体素经布尔运算的结果是将并、交、差布尔运算符应用于两个实体操作数的结果。布尔运算中 9 T/SCGS305001—2024 的实体也可以是之前布尔运算的结果。 例如,两个同心球体V1,V2,其球体半径分别是R1 和R2,其中R1 3个坐标方向的控制体网格的控制顶点的X、Y、Z 坐标表示,每个坐标的数据类型为double 是 Weight array 作用在每个控制顶点上的权因子,数据类型为float 是 KnotVectu array 参数域u 方向的节点矢量U ,矢量中每个数的数据类型为 float。当节点矢量的节点取自然数时,这个数的数据类型为uint 是 KnotVectv array 参数域v 方向节点矢量V,矢量中每个数的数据类型为float。 当节点矢量的节点取自然数时,这个数的数据类型为uint 是 KnotVectw array 参数域w 方向节点矢量W ,矢量中每个数的数据类型为float。 当节点矢量的节点取自然数时,这个数的数据类型为uint 是 CtrlPntNum array 三元NURBS体控制顶点的数组,数组中每个数表示控制体网格每个方向上的控制顶点个数,顶点数的数据类型为无符号整数是 Order array NURBS体X、Y、Z3个方向上阶数的数组。数组中每个数表示一个方向上的阶数,数据类型为无符号整数是 5.2 拉伸体及表示类型ID:extV。 拉伸体extV(extrudedVolume)是几何体,应通过拉伸二维横截面形成。拉伸方向由extrudedDirection 属性指定,拉伸长度由depth属性指定。图9为拉伸体的几何结构。如果平面区域具有内部边界(定义的孔),则这些孔也一并拉伸为实体的孔。每一个拉伸体应由1个整型变量、1个不定长数组和 11 T/SCGS305001—2024 4个双精度浮点数表示。其中整型变量是1个ID,指向X、Y 平面内的有界曲线;不定长数组指向该有界曲线内的内部边界;前3个浮点数表示拉伸方向向量,后1个浮点数表示拉伸长度。 拉伸体的几何结构应满足表11的要求。 图9 拉伸体的几何结构表11 拉伸体的几何结构参数类型说明是否必须 extrudedCurve uint X、Y 平面内的有界曲线ID 是 holes array SweptAreaCurve内部的有界曲线ID列表否 extrudedDirection array 拉伸方向。该向量为单位向量,仅表示方向是 depth double 拉伸长度是 5.3 回转体及表示类型ID:revV。 回转体revV(revolvedVolume)是一个几何体,是通过绕轴旋转横截面形成。设定一个直角坐标系,回转截面应位于过旋转轴的平面内。对于正则体而言,回转截面或者是与轴线不相交的闭合曲线 (无自交)围成的平面区域,或者是两个端点都在轴线上的有界无自交曲线与轴线围成的平面区域。 图10为回转体的几何结构。若回转截面由内环和外环的曲线组成,则生成的回转体亏格不为零。 回转体的回转截面绕轴旋转,缺省情形下旋转方向为顺时针方向,旋转方向和旋转角度应方便自主设定。 每 1个回转体应包含1个整型变量、1个不定长数组、4个双精度浮点数。其中整型变量作为ID指向合围成旋转截面外边界的有界曲线,不定长数组指向该有界曲线内的内部边界;之后是前3个浮点数表示旋转轴方向向量,后1个浮点数表示旋转角度。 回转体的几何结构应满足表12的要求。 表12 回转体的几何结构参数类型说明是否必须 revolvedAreaCurve int 合围成旋转截面外边界的有界曲线ID 是 holes array RevolveAreaCurve内部有界曲线ID列表否 12 T/SCGS305001—2024 表12 回转体的几何结构(续) 参数类型说明是否必须 axis array 旋转轴,前三个浮点数表示轴原点, 后三个浮点数表示方向是 angle double 旋转角度是图10 回转体的几何结构 5.4 扫掠体及表示类型ID:swpV。 扫掠体swpV(sweptVolume)是通过在一个几何形状(称为截面)沿着一条路径进行平移、旋转或缩放而生成的三维几何体。如果平面区域具有内部边界(定义的孔),则这些孔也一并拉伸为实体的孔。 图11为一般扫掠体示意图。 扫掠体的“截面”也可以是三维形体,称为运动形体,运动形体沿着一条路径扫掠形成的三维形体,构成一个扫掠体,其中的起始截面与终止截面分别为运动形体的部分表面。 扫掠体应由2个整型变量、1个不定长数组表示。其中第一个整型变量作为ID指向截面包含一个外边界为有界曲线;第二个整型变量指向扫掠曲线sweptDirectionCurve;不定长数组指定sweptArea- Curve内部的有界曲线。 扫掠体的几何结构应满足表13的要求。 13 T/SCGS305001—2024 图11 扫掠体的几何结构表13 扫掠体的几何结构参数类型说明是否必须 sweptAreaCurve int 合围成截面外边界的有界曲线ID 是 holes array sweptAreaCurve内部的有界曲线ID列表否 sweptDirectionCurve int 拉伸方向的曲线ID 是 5.5 放样体及表示类型ID:lftV。 放样体lftV(loftVolume)是顺序插值通过空间中多个截面边界线而形成的三维形体,并且放样体的表面上应在各顺序截面边界线对应点的插值曲线上具有一定连续性(一般地,至少应保持G1 或者C1 连续)。放样体的几何结构如图12所示。 放样体应由两个不定长的整型数组表示,其中loftAreaCurve用于表示多个截面上的外边界曲线 ID,表示几何体的多个截面;holes用于表示各个截面内的边界曲线。 放样体的几何结构应满足表14的要求。 14 T/SCGS305001—2024 图12 放样体的几何结构表14 放样体的几何结构参数类型说明是否必须 loftAreaCurve array 表示多个截面上的外边界曲线ID 是 holes array[array] loftAreaCurve内部的边界曲线ID列表否 6 细分体 6.1 细分曲线及表示类型ID:sbdC。 给定初始控制顶点与细分规则,线细分曲线sbdC(subdivisionCurve)格式应满足表15的要求。 表15 线细分的结构属性类型说明是否必须 controlPoints array 空间中顺序的初始顶点坐标是 subdivisionScheme string 使用的细分方法,如Chaikin等是 newcontrlPnts array 细分结果,按顺序的顶点坐标否 subdivNumb uint 细分次数,默认为2 否 6.2 细分曲面及表示类型ID:sbdS。 细分曲面sbdS(subdivisionSurface)为初始控制网格经过多次细分格式细分而形成的曲面。 面细分的结构应满足表16的要求。 15 T/SCGS305001—2024 表16 面细分的结构属性类型说明是否必须 initialControlPoints array 初始面网格的顶点的坐标是 initialVertIndices array 初始面网格的顶点的索引是 subdivisionScheme string 使用的细分方法,Loop、 Catmull-Clark、Butterfly、Doo-Sabin 是 creaseEdges array 顶点序号,标记在网格内哪些顶点连接成creaseedges, 即表明哪些边是尖锐边,在细分时应予以特殊处理否 boundaryInterpolationRules uint 边界插值规则,默认为0 0:BoundaryNone不适用边界 1:EdgeOnly仅适用边界 2:EdgeAndCorner适用边界和角点否 faceVaryingInterpolationRules int 面插值规则,默认为0 0:LinearNone处处平滑 1:LinearCornersOnly线性插值角点 2:LinearCornersPlus1线性插值角点和3个以上交界 3:LinearBoundaries沿所有边界边和角进行线性插值 4:LinearALL线性插值(边界和内部) 否 resultControlPoints array 细分结果面网格的顶点的坐标否 resultVertIndices array 细分结果面网格的顶点的索引否 subdNumb uint 细分次数否 6.3 细分体及表示类型ID:sbdV。 细分体sbdV(sudivisionVolume)与细分曲面定义类似,初始网格为体网格。 细分体的结构应满足表17的要求。其中,initialControlPoints定义了每个顶点在三维空间中的位置,initialPointIndices描述每个顶点属于第几个四面体/六面体。如果表示第1个~第4个顶点构成第一个四面体,第5个~第8个顶点构成第2个四面体,可以写为{[1,2,3,4],[5,6,7,8]}。description 属性对体表示的类型进行说明,即说明此体表示是使用四面体网格,还是六面体网格,或二者皆有的混合网格。亦可在此描述自定义内容。 表17 细分体的结构属性类型说明是否必须 initialControlVerts array 初始体网格的顶点的坐标是 initialVertIndices array 初始体网格的顶点的索引是 description string 描述该体网格的类型:四面体网格(Tet), 或六面体网格(Hex),或混合网格(Hybrid) 否 16 T/SCGS305001—2024 表17 细分体的结构(续) 属性类型说明是否必须 subdivisionScheme string 使用的细分方法,如Loop、Catmull-Clark、 Butterfly等细分格式定义,包括体细分的边界位置的细分规则定义。 细分体表面的细分格式定义与细分曲面格式定义相同是 resultControlPoints array 细分结果体网格的所有顶点的坐标否 resultPointIndices array> 细分结果体网格的所有顶点的索引和该顶点的细分次数否 7 离散网格体的结构表示类型ID:DisV。 复杂的离散网格体DisV(DiscreteVolume)应由系列多面体的组合构成,以离散的点线面体方式进行定义。 离散网格体的结构应满足表18的要求。 表18 离散网格体的结构属性类型说明是否必须 Points array 网格体的顶点坐标是 PointIndices array 网格体的顶点索引是 Edge array 网格体的边由网格体的两个顶点构成,这里的顶点只需要引用顶点索引,不需要顶点的几何数据是 EdgeIndices array 网格体的边索引是 PolyHdn array 网格体的多面体由网格体的若干条边构成,这里的边只需要引用边索引,构成一个边索引数组是 PolyHdnIndices array 网格体的多面体索引是 Face array 网格体的面由网格体的若干条边构成,这里的边只需要引用边索引,构成一个边索引数组否 FaceIndices array 网格体的面索引否离散网格体的拓扑结构,应可以通过点查找到边,通过边查找相邻的多面体,通过相邻边查找到多面体的面结构,从而形成离散网格体中点、线、面、体之间相互连接的拓扑关系。 8 几何体的体表示 8.1 几何体的语义特征框架由网格体的多条边连接形成闭合的线框,构成语义特征框架(semanticfeaturewireframe),该框架是一种拓扑结构。 几何体的部分几何块可以定义该区域的语义信息,由这些区域几何块的边界框架构成的几何体边 17 T/SCGS305001—2024 界框架,称为语义特征框架的一个闭合线框。如果把几何体表面区域分成多个带语义的表面区域块,这些表面区域块的边框组合构成一个几何体表面语义特征框架。语义特征框架是附着在几何体的一个拓扑结构,该结构表示采用几何体拓扑结构中的点边面的索引值。 几何体的语义特征框架主要用于对几何体的局部区域进行编辑修改操作,包括几何编辑修改,以及定义在区域几何块或者区域表面上的各种语义属性信息。当几何体是离散网格体时,基于语义特征框架的编辑操作具有一定的便捷性。例如,传统的FFD表示框架,可以看作是一种语义特征框架。 如图13中,语义特征框架是利用几何体的拓扑结构表示,在语义特征框架上可以定义任意表示粒度的语义信息,例如,语义特征框架的各种元素上,包括框架节点(vertnode)、框架边(edge)、特征区域边界线(patchbdline)、特征区域(patch)、特征框架(wireframe)或者整体(body)上,都可以定义或者用户自定义的各种语义特征。 图13 语义特征框架的表示结构 8.2 几何体的体表示结构本文件中一个几何体的体表示(VRep)结构只包含几何结构和拓扑结构。三维模型的各种结构表示,例如属性表示,需要额外定义相应的结构。传统的三维模型表示格式标准已经进行了各种定义,第六章也定义了属性的表示结构。 如图14所示,在体表示结构中,除了保留传统体表面的BRep(B-Rep)表示中的几何与拓扑之间的对应关系外,体表示(VRep)还具有几何体内部各种几何表示以及各几何之间连接关系的拓扑表示结构。VRep是BRep的一种拓展。 一个单元体(primitive)应由若干面(face)构成。体块(block)由单元体的组合构成,可以构成几何体(volume)。壳体(shell)是一种特殊的几何体,应由体块或特征区域构成。拓扑表面是几何体的表面,可以构建生成几何体。 18 T/SCGS305001—2024 图14 几何体的体表示结构 19 T/SCGS305001—2024 参考文献 [1] GB 5271.1 信息技术词汇第1部分:基本术语 [2] GB 20000.1 标准化工作指南第1部分:标准化和相关活动的通用词汇 [3] TC10-SC6 Mechanicalengineeringdocumentation [4] TC10-SC8 Constructiondocumentation [5] ISO/TC184 Automationsystemsandintegration [6] ISO16792 Technicalproductdocumentation—Digitalproductdefinitiondatapractices