• 829.79 KB
  • 2022-04-22 13:49:56 发布

GBT16656.508-2010工业自动化系统与集成产品数据表达与交换应用解释构造非流形曲面.pdf

  • 49页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'ICS25.040.40L67囝雪中华人民共和国国家标准GB/T16656.508—201O/ISO10303-508:2001工业自动化系统与集成产品数据表达与交换第508部分:应用解释构造:非流形曲面Industrialautomationsystemsandintegration--Productdatarepresentationandexchange--Part508:Applicationinterpretedconstruct:Non-manifoldsurface2011-01-14发布(IS010303—508:2001,IDT)2011-06-0I实施宰瞀擞鬻瓣警糌瞥星发布中国国家标准化管理委员会仅19 标准分享网www.bzfxw.com免费下载GB/T16656.508--2010/IS010303-508:2001目次前言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯I引言⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯···⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯Ⅲ1范围⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯一12规范性引用文件⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯···⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯l3术语、定义和缩略语⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯23.1ISO10303一l中定义的术语⋯⋯···⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯“23.216656.42中定义的术语⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯23.316656.202中定义的术语⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯~33.4ISO10303—511中定义的术语⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯33.5其他术语和定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯····⋯⋯⋯⋯⋯⋯⋯⋯⋯一33.6缩略语⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯34EXPRESS短表⋯⋯⋯⋯⋯⋯-⋯---⋯-···⋯⋯⋯·---⋯⋯⋯⋯·⋯-··⋯⋯·⋯⋯·⋯⋯⋯⋯4.1基本概念和假设⋯⋯⋯⋯⋯⋯··⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·4一aic—non_manifold_surface模式实体定义:non_manifold—surfaceshape_representation4.3aic—non_manifoldsurface函数定义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯”附录A(规范性附录)实体短名⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯·附录B(规范性附录)信息对象注册⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯·附录c(资料性附录)EXPRESS-G图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯··附录D(资料性附录)计算机可解释的列表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一00地坞加n“ GB/T16656.508—2010/ISO10303-508:2001前言16656《I业自动化系统与集成产品数据表达与交换》是由多个部分组成的标准,各部分单独出版。GB/T16656的所属各部分又组成多个子系列,即:——第1部分至第19部分规定了描述方法;——第20部分至第29部分规定了实现方法;——第30部分至第39部分规定了一致性测试方法与框架;——第40部分至第59部分规定了集成通用资源;——第100部分至第199部分规定了集成应用资源;——第200部分至第299部分规定了应用协议;——第300部分至第399部分规定了抽象测试套件;——第400部分至第499部分规定了应用模块;——第500部分至第599部分规定了应用解释构造;——第1000部分至第1999部分规定了应用模块。16656《工业自动化系统与集成产品数据表达与交换》现已发布和即将发布的包括以下部分:——第1部分:概述与基本原理;——第11部分:描述方法:EXPREss语言参考手册;——第21部分:实现方法:交换文件结构的纯正文编码;——第28部分:实现方法;EXPRESS模式与数据的XML表达(使用XML模式);——第31部分:一致性测试方法论与框架:基本概念;——第32部分:一致性测试方法论与框架:对测试实验室与客户的要求;——第34部分:一致性测试方法论与框架:应用协议实现的抽象测试方法;——第41部分:集成通用资源:产品描述与支持原理;——第42部分:集成通用资源:几何与拓扑表达;——第43部分:集成通用资源:表达结构;——第44部分:集成通用资源:产品结构配置;——第45部分:集成通用资源:材料;——第46部分:集成通用资源:可视化显示;——第47部分:集成通用资源:形状变化公差;——第49部分:集成通用资源:工艺过程结构和特性;——第51部分:集成通用资源:数学表达}——第54部分:集成通用资源:分类和集合论;——第55部分:集成通用资源:过程与混合表达;——第56部分:集成通用资源:状态;——第101部分:集成应用资源:绘图;——第105部分:集成应用资源:运动学;——第201部分:应用协议:显式绘图;——第202部分:应用协议:相关绘图;——第203部分:应用协议:配置控制设计;I 标准分享网www.bzfxw.com免费下载GB/T18656.508—20iO/ISO10303-508:2001——第238部分:应用协议:计算机数值控制器用的应用解释模型;——第501部分:应用解释构造:基于边的线框;——第502部分:应用解释构造:基于壳的线框;——第503部分:应用解释构造:几何有界二维线框;——第504部分:应用解释构造:绘图注释;——第505部分:应用解释构造:图样结构与管理;——第506部分:应用解释构造:绘图元素;——第507部分:应用解释构造:几何有界曲面;——第508部分:应用解释构造:非流形瞳面;——第509部分:应用解释构造:流形曲面;——第513部分;应用解释构造:基本边界表达;——第520部分:应用解释构造:相关绘图元素;——第1001部分:应用模块:外观赋值;——第1002部分:应用模块;颜色;——第1003部分:应用模块:曲线外观;——第1004部分:应用模块:基本几何形状;——第1005部分:应用模块:基本拓扑;——第1006部分:应用模块;基础表达;——第1007部分:应用模块:通用曲面外观;——第1008部分:应用模块:层赋值;——第1009部分:应用模块:形状外观和层。本部分是GB/T16656的第508部分。本部分等同采用IsO10303—508:2001{工业自动化系统与集成产品数据表达与交换第508部分应用解释构造:非流形曲面》。本部分的技术内容和结构与ISO10303-508:2001相一致,在编写规则上符合GB/T1.1—2000《标准化工作导则第1部分:标准的结构和编写规则》,为便于使用,做了如下编辑性修改:a)删去了ISO前言;b)对于带下划线的用于EXPRESS语言描述的各黑体英文实体名、属性名和函数名等,为了维护其英文原意,在本部分中,都使用其英文原名,仅当其作为标题时,我们在该英文名前增加了其归属的类型说明。本部分的附录A、附录B为规范性附录,附录c和附录D为资料性附录。本部分由机械工业联合会提出。本部分由全国自动化系统与集成标准化技术委员会(SAC/TC159)归口。本部分主要起草单位:中国标准化研究院。本部分主要起草人:刘守华、洪岩、李文武、王志强、周歆华。Ⅱ GB/T16656.508—2010/LsO10303-508:2001引言16656是一个计算机可解释的产品数据表达和交换标准,其目标是提供贯穿产品整个生命周期的、独立于任何特定系统的描述产品数据的中性机制。这种描述的本质使得它不仅适合中性文件的交换,也是实现和共享产品数据库及文件存档的基础。16656由一系列部分组成,每个部分单独发布。GB/T16656的各个部分都分属以下系列之一:描述方法、集成资源、应用解释构造、应用协议、抽象测试套件、实现方法及一致性测试和应用模块。本部分属于应用解释构造系列。应用解释构造(AIC)规定了解释构造的逻辑组合,这些解释构造支持跨越多个应用环境的产品数据所使用的特定功能。解释构造是集成资源的一般性解释,它支持不同应用协议中的共享信息需求。本部分通过非流形睡面模型为几何外观的描述规定了应用解释构造。它包括几何和拓扑资源,用于定义由基础曲线和曲面以及雕塑曲线和衄面组成的非流形曲面。Ⅲ 标准分享网www.bzfxw.com免费下载GB/T16656.508--2010/IS010303·508:2001工业自动化系统与集成产品数据表达与交换第508部分:应用解释构造:非流形曲面1范围16656的本部分通过非流形曲面模型详细说明了集成资源的解释以满足几何形状的描述需求。本部分适用于:——3D点;——曲线或曲面参数空间内定义的点;——3D曲线;——曲面参数空间内定义的曲线;注:这样的曲线也称为pcurve或con,它们是取首字母的参数曲线和曲面曲线的缩写。——基本曲线类型线、圆、椭圆、抛物线和双曲线;——相交曲线;——至少由三点组成的折线;——基本曲面类型:平面、柱面、锥面、圆环面和球面;——通过旋转或线性拉伸曲线而产生的扫掠面;——雕塑曲线和睦面;——应用拓扑实体对曲线和曲面的修剪;——应用拓扑实体构成复合曲线和曲面;——曲线、曲面和曲面模型的复制;——曲线和曲面的3D偏置;——非流形。本部分不适用于:——无边界几何体;——自相交几何体;——2D笛卡尔坐标空间几何体;——点复制;——与相应的几何域没有任何关联的拓扑体。2规范性引用文件下列文件中的条款通过GB/T16656的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。16262.1信息技术抽象语法记法一(ASN.1)第1部分:基本记法规范(GB/T16262.I--2006,ISCl/IEC8824:2002,IDT)16656.4l一1999工业自动化系统与集成产品数据表达与交换第4l部分:产品描述与】 GB/T16656.508—2010/玛o10303-508:2001支持原理(idtIS010303—41:1994)16656.42—1998工业自动化系统与集成产品数据表达与交换第42部分:集成通用资源:几何与拓扑表达(idtISO10303—42:1994)GB/T16656.43—1999工业自动化系统与集成产品数据表达与交换第43部分:集成通用资源:表达结构(idtISO10303—43:1994)16656.202--2000工业自动化系统与集成产品数据表达与交换第202部分:应用协议:相关绘图(eqvISO10303—202:1996)ISO10303—1:1994工业自动化系统与集成产品数据表达与交换第1部分:综述和基本原理ISO10303一ii:1994工业自动化系统与集成产品数据表达与交换第11部分:描述方法:EXPRESS语言参考手册ISO10303—511:2001工业自动化系统与集成产品数据表达与交换第511部分:应用解释构造:拓扑边界曲面3术语、定义和缩略语3.1ISO10303-I中定义的术语ISO10303—1中定义的下列术语适用于本部分:——抽象测试套件(ATs)abstracttestsuite(ATS);——应用application;——应用相关环境applicationcontext;——应用协议(AP)applicationprotocol(AP);——数据data;——数据交换dataexchange;——通用资源genericresource;——实现方法implementationmethod;——信息information;——集成资源integratedresource;——解释interpretation;——模式model;——产品product;——产品数据productdata;——结构structure。3.216656.42中定义的术语16656.42中定义的下列术语适用于本部分:——边界boundary;——边界表达实体模型boundaryrepresentationsolidmodel;——连通的connected;——坐标空间coordinatespace;——衄线curve;——维数dimensionality;——域domain;——参数空间parameterspace;——自相交self-intersect;——曲面surface,2 GB/T16656.508—2010/Lso10303-508:20013.3CB/T16656.202中定义的术语16656.202中定义的下列术语适用于本部分:3.3.1应用解释构造applicationinterpretedconstruct;AIC一种逻辑组合,它支持横跨多种应用环境的产品数据使用特定功能。3.4ISO10303-511中定义的术语——高级曲面advancedface;——雕塑曲面sculpturedsurface;——扫掠曲面sweptsurface。3.5其他术语和定义下列术语和定义适用于本部分。3.5.12维流形2-manifold在一个形状边界的任何一点都可以构造一个足够小的球面,该球面的内部可以由该边界明确地划分为两个区域。这个边界一般由边和面组成。注:该定义忽略了曲面的自相交,曲面相交并不沿着边,并且边连接三个或多个面。3.5.2非流形non-manifold一个曲面模型用拓扑构造来定义它的边界和连通性,它包括至少两个connected—face—sets共用一个面,或者两个以上的面共用一条边。3.6缩略语AIC:应用解释构造(applicationinterpretedconstruct)AP:应用协议(applicationprotoc01)ATS:抽象测试套件(abstracttestsuite)4EXPRESS短表4.1基本概念和假设本条规定了EXPRESS模式,这些模式使用集成资源中的元素并包含了本部分所说明的类型、实体专门化和函数。注1:可能存在出现在集成资源中的子类型和选表的项没有被输入到AIC里的情况。通过应用ISO10303—11隐式接口规则可从子类树或选表中删除结构。引用删除的结构不属于AIC的范围。在某些情况下,选表的所有项都被删除。由于AIc在应用协议的相关环境下实现,所以选表的项应该在应用协议的范围中进行定义。该应用解释构造为非流形曲面表达的定义提供了几何和拓扑实体的一致性集合,实体由基础曲线和曲面或雕塑曲线和曲面组成。本部分最高层的实体是non—manifold—surface_shape—representation。一个non_manifold—surface—shape—representation是有界的。几何边界由拓扑实体实现,比如顶点、边和面。如果与一个相应的几何域没有任何关联,那么拓扑实体将不存在。注2:本部分使用ISO10303—511中的所有实体和类型,aic_topologically_bounded_surface。EXPRESS描述:*)SCHEMAaic_non_manifold_surfaceIUSEFROMaic—topologlcally_bounded_surface;一ISOi0303-511USEFROMgeometric_model—schema(--GB/T16656.423 GB/T16656.508—2010/Iso10303-508:20014face_based_surface_model);USEFROMgeometry_schema(一GB/T16656.42b—spline_eurve,b—spline_surface,bounded_pcurve,bounded_surface—curve,cartesian_transformation_operator一3d,curve’curve_replica,degenerate_pcurve,evaluated_degeneratepcurve,intersection_curve,offset-curve_3d,offset_surface,point-on_curve,point_on_surface,seam_curve"surface,surface_replica);USEFROMproduct..property_representation_schema(--GB/T16656.41shape_representation);USEFROMrepresentation_schema(一GB/T16656.43mapped_item,representation,representation_item,representation_map);USEFROMtopology_schema(--GB/T16656.42closedshell,connected_face_set,face,open_shell,oriented—face);(*注3:以上引用的模式可在以下部分找到:aic_topologically_bounded_surfaceISO10303—511geometric_model.。schema16656.42geometry_schema16656.42product..property_representationschema16656.41representation_schema16656.43topology_schema16656.42在应用本AIC的应用协议模式中如下实体将被独立地实例化:——norLmanifold_surface_shape—representation。 GB/T16656.508—2010/ISO10303-508:20014.2aic_non_manifold_surface模式实体定义:nonmanifoldsurface_shape_representationNon—maniIold-surface_representation应用带边界的非流形方式描述了产品形状或部分形状。注1:在拓扑结构上,非流形比流形的约束少。例如:最多只有两个面共用同一个边的情况的约束,对于非流形就不限制。因此,不适用于构建实体模型。然而,非流形可用于支持有限元分析方法。注2:一个non_manifold-surface_representation能够很好地支持流形曲面模型的表达,反之不成立。注3:本部分不包括实体产品。正如在GB/T16656.41中定义的,一个non_manifold—surface_shape—representation是一个shape_representation,它由一个或多个facebased_surface_model组成。每一个face_based—surface_model都是由一系列的connected—face—set构成,在本部分中,face—based—surface—model可被实例化为connected—face_sets,或实例化为open_shell或closed_shell的一个子类型。Connected_face-set由面组成,面由边和点组成;面、边和点要引用几何实体:例如点、曲线和曲面。通过应用face_surface和advanced—face(在ISO10303—511中定义)可以建立起拓扑和几何之间的链接。选择用face_surface还是advanced_face不仅在有效的点、曲线、曲面子类型选择上不同,而且在引用基础几何体的约束上也不同。注4:把face_surface表达为advancedface,推荐应用这种表达方式来表达非流形曲面模型,而非流形曲面模型是和边界表达整体模型一起使用的。把这样一个非流形曲面模型和一个高级的边界表达模型(高级边界表达模型在ISO10303—514中定义)集成为一体,将会很容易。除pcurves用二维的几何来定义之外,其他所有的几何实体应该是三维的。但是使用一维的carte—sian_points排除在外。所有无边界几何应该通过应用拓扑构造来修剪。non—manifold_surface_shape—representation项可能是mapped_item(GB/T16656.43有定义)型或“is2一placement_3d型。它们用来将一个或几个non—manifold—surface_shape_representatian组合成另外的一个non_manifold_surfaceshape_representation。根据上面的说明,该实体的WHERE-规则限制了实体数据类型的使用,实体数据类型是从16656.42和GB/T16656.43中引用的。一些实体类型的有效性和限制在下面的两个函数中说明。——nmsf.curve_check;——musf_surface_check。在下面的WR5,WR6和WRIO中,这些函数验证non_manifold_surface—shape—representation范围之内所有边和面的曲线和曲面的有效性,但不包括在advanced_face的引用树中的那些曲线和曲面。一个advanced—face的几何实体的有效性通过另外的一套规则验证。函数自动评估所有基础几何体。因此它们被称作是递归的。示例:一个l眦mwe可以同时引用一条曲线和一个曲面。函数msfcurve_dheck不仅验证pcurve,而且也验证该基础几何体。因此,它不仅调用本身,也调用函数nmsf_surface_check。注5:本部分不包括点和基础曲线和曲面的验证函数。这是因为一个nonmanifoldsurface_shape_representation的所有的曲线和曲面都被边和面所引用,因而被已经存在的两个函数所覆盖。注6:一个应用本部分的应用协议应该显式地许可shape_representation实体可以被实例化为一个IIOR—manifold—surfaceshape_representation。EXPRESS描述:*)ENTITYnon_manifoldsurface_shape_representationSUBTYPEOF(shape_representation);WHEREWRI:SIZEOF(QUERY(北(*SELF.items5 GB/T16656.508—2010/lso10303—508:20016NaT(S12回OF([’A工c"础MANⅡⅡD&珏酚血.FA@鼬s印g正旧A旺咀亚L’,’AIc_NONMANIFOLD_SURFACE.MAPPED—ITEM。,‘AIc—跚坶dIⅡuD氧删?班.蕊&耳晶cD旺田r∞’]*TYPECF(it))=1)))=o;WR2:SIZEOF(0UERY(it(*SELF.itemsSIZel9([。舡cNON鼢HⅡ∞铷碰AcE.眦咖&臌’衄啪皿’,AIcN叫MAN咖s【删强皿.MAPPEDITEM’]*TYPE[F(it))=1))>o;WR3:SIZEOF(QUERY(mi<*QUERY(it<*SELF.items’AIc_NON_MANIFOLD_SURFACE.MAPPED—ITEM’INTYPEOF(it))INOT((。AIC—NON—MANIF0Ⅱ)-SURFACE.’+’NOll_MANIFOLD_SURFACE_SHAPE_REPRESENTATION’INTYPEOF(mi\mapped_item.mapping_sourcemapped_representation))AND(SIZEOF(QUERY(mr_it(*mi\mappeditem.mappingsource.mappecLrepresentation.items(1AIc.NON_MANIFOLD—SURFACE.FACE—BASED—SURFACE_MODEL’INTYPEOF(mrit))))>0))))=0;WR4:SIZEOF(QUERY(fbsm(*QUERy(it(*sE工lF.items’AIc_NON_MANIFOLD—SURFACE.FACE_BASED_SURFACE_MODEL’INTYPEOF(it)){NOT(SIZEOF(QUERY(cfs(*fbsm\face_based_surface_model.fbsm_facesNOT(SIZEOF(QUERY(fa(*cfs.cfs—facesNOT(SIZEOF([’AIC—NON~MANIFOLD_SURFACE.FACE_SURFACE。,。AIcN哪MANI眦DgⅡ砸|A@.∞IEN皿FA皿’]*TYR∞F(fa))=1)))=O)))=o)))=o;wR5:SIZEOF(QUERY(fbem<*0CEaY(it<*SELF.items。AICN嗵鼢NⅡⅡD翱I砸赋.砑匝鼬S皿&碰A四I旺H.’砥TYP圄0F(it))fNOT(SIZEOF(QUERY(cfs(*fbsm\face_basedsurface_model.fbsm_faces{NOT(SIZEOF(QUFaY(f—sf(*QUERY(fa(*cfs.cfs—faces(’AIc-NON_MANIFOLD_SURFACE.FACE-SURFACE’INTYPEOF(fa)))INOT((’AIcN嗵MANIE伍D跚冈强匝.A踟嘴口四FA旺’INTYPEOF(f_sO)OR(nmsf—surface_check(f—sf\face—surface.face—geometry)))))=0)))=0)))=0;WR6:SIZEOF(QUERY(fbsm(*QUERY(it(*SELF.items’AIc-NON_MANIFOLD_SURFACE.FACE_BASED_SURFACE_MODEL’INTYPEOF(it))lNOT(SIZEOF(QUERY(cfs(*fbsm\face_based_surface_model.fbsm_facesfNOT(SIZEOF(QUERy(o_fa(*QuERY(fa(*cfs.cfs—faces(-AIC—NON—MANIFOLD_SURFACE.0RIENTED_FACE’INTYPEOF(fa)))1 GB/T16656.508—2010/Iso10303—508:2001NOT((.AIc.NON_MANIFOLD_SURFACE.ADVANCED_FACE(o—fa\oriented_face.face_element))OR(nmsf—surface_check(o_fa\orientecLface.face_element\face_surface=O)))=O)))=0;INTYPEOFface_geometry)))))WR7:SIEEOF(QUERY(fbsm(*QUERY(北(*SELF.itemsAIC.NoN-MANIFOLD_SURFACE.FACE—BASED—SURFACEMODEL’INTYPEOF(it))l强廿r(SIZEOZ(锑】E髓(cfs(*fbsm\face_based-surfacemodel.fbsm_facesNOT(SIZEOF(QUERY(fa(*cfs.cfs—facesNOT(CAIcN叫MⅫI阿D&珏强^@._FACE。工NTYPE叫(fa))OR(SIZEOF(0UERY(bnds(*faboundsNOT(SIZEOF([’AIC_NON_MANIFOLD-SURFACE.EDGE—LOOP’,’AICNON_MANIFOLD_SURFACE.VERTEX_LOOP’J*TYPEOF(bods.bound))=1)))=0))))=0)))=0)))=0;WR8,SIZEOF(QUERY(fbsm<*QUERY(it(*SELF.items’A工CNON_MANIFOLD_SURFACE.FACE—BASED—SURFACE_MODEL’INTYPEOF(it))lNOT(SIZEOF(QUERY(cfs(*fbsm\face_based_surface_model.fbsm_facesNOT(SIZEOF(QUERy(fa(*cfscfs—facesNOT(CA工CN叫MⅫⅡⅡD&砸A血.3A(X’IN暇PE。F(fa))OR(SIZEOF(QUERY(elp』hnds(*QUERY(bnds(*fa.boundsI-AICNON_MANIFOLD_SURFAUE.EDGE_LOOP。INTYPEOF(bnds.bound))NOT(SlZEOF(QUERY(oe(*elp_fbnds\path.edgelistNOT(‘AIC—NON_MANIFOLD_SURFACE.EDGE_CURVE’INTYPEOF(oe.edge_element))))=O)))=0))))=O)))=0)))20;WR9:SIZEOF(QUERY(fbsm(*QUERY(it(*SELF.items’AICNONMANIFOLD_SURFACE.FACE_BASED_SURFACE_MODEL’INTYPEOF(it))lNOT(SIZEOF(QUERY(cfs(*fbsm\face_based-surfacemodelfbsm_facesNOT(SIZEOF(QUERY(fa(*cfs.cfs—facesNOT(CAICl嘲№NI眦DgⅡ酏血.A珊㈣』:姚’INTYPEC盯(fa))OR(SIZEOF(QUERY(elp_fbnds<*QUERY(bnds(*fa.bounds·AIC—NONMANIFOLD_SURFACE.EDGE_LOOP’INTYPEOF(bnds.bound))NOT(SIZEOF(QUERY(oe_cv(*QUERy(oe<*elp_fbnds\path.edge_list7 GB/T16656.508—2010/tSO10303-508:20018’AIc№NMANI阿Ds[碰A匝ED口Ⅱ正wE’碍TYPE叫(oeedge_el酬c))INOT(SIZEOF([’AIc-NON_MANIFOLD_SURFACE.B-SPLINE_CURVE。,’AIC—NON—MANIFOLD_SURFACE.CONIC’,’AIC—NON—MANIFOLD_SURFACECURVE_REPLICA’,’AIC—NONMANIFOLD_SURFACE.LINE。,‘AIC—NONMANIFOLD_SURFACE.OFFSET-CURVE_3D’,’AIC—NON—MANIFOu)-SURFACE.PCURVE’,’AIC—NON—MANIFO【lI).SURFACE.POLYLINE’,’AICNONMANIFOLD_SURFACE.SURFACE_CURVE’]*TYPEOF(oe_cv.edge_element\e由ecurve.edge_geometry))=1)))=0)))=0))))=0)))=0)))=0;WRl0:SIZEOF(QUERY(fbsm(*QUERY(it<*SELF.items’AIC—NON—MANIFOLD_SURFACE.FACE_BASED_SURFACEMODEL。INTYPEOF(it))INOT(SIZEOF(QUERY(cfs(*fbsm\face_basecLsurface_model.fbsm_facesNOT(SIZEOF(QUERY(fa<*cfs.cfs—facesNOr((’AICI矾MANI蹦D文砸A匝._FACE’INTYPECⅢ(fa))OR(SIZEOF(QUERY(elp_fbnds<*0UERY(bnds(*fa.bounds’A工C—NON—MANIFOLD_SURFACE.EDGE_LOOP’INTYPEOF(bnds.bound))lNOT(SIZEOF(QUERY(em<*elp_fbnds\path.edge_listNOT(nmsf—curve—check(oe.edg『e_element\edge_curve.edge_geometry))))=0)))=O))))=0)))=0)))=0;WRll:SIZEOF(QUERY(fbsm(*QUERY(it(*SELF.items’AIC—NON-MANIFOLD_SURFACE.FACEBASED_SURFACEMODEL’INTYPEOF(it))INOT(SIZEOF(QUERY(cfs(*fbsm\face_based_surface_model.fbsmfacesNOT(SIZEOF(QUERY(fa<*cfs.efs—facesNOT((’AICNONMANIFOLDSIⅡRFACE._FACE’INT珏髓(fa))OR(SIZEOF(QUERY(elp_fbnds(*QUERY(bnds(*fa.hounds。AIc_NolL且ANIFOⅡ)_SURFACE.EDGE_LOOP1工NTYPEOF(bnds.bound))lNOT(SIZEOF(QUERY(oe(*elp_fbnds\path.edge—listNOT((’AIc—NONMANIFOLD_SURFACE.VERTEx—POINT’工NTYPEOF(oe.edge_element.edge_start))AND(’AIC—NON—_MANIFO【工LSURFACE.VERTEX_POINT’INTYPEOF(oe.edge_element.edge_end)))))=0)))=0))))=0)))=O)))=0;WRl2:SIZEOF(QUERY(fbsm(*0UERY(it(*SELF.items’AIC—NON—MANIFOⅡ)_SURFACE.FACE-BASED_SURFACE_MODEL’IN GB/T16656.508—2010/so10303-508:2001TYPEOF(it))lNOT(SIZEOF(QUERY(cfs(*fbsm\face_based_surface_model.fbsm_facesNOT(SIZEOF(QUERY(fa(*cfs.cfs—facesNOT(CAICNONMANIFOLD_SURFACE.AD诅衄—l:A血’珂TYPH蕾(fa))OR(SIZEOF(QuEaY(elpfhnds(*0UERY(bnds(*fa.hounds’AIC_NON-MANIFOLD_SURFACE.EDGE_LOOP’INTYPEOF(bnds.bound))INOT(SlZEOF(QUERY(oe<*elp—fbnds\path.edgelistNOT((SIZEOF([’AIC_NONMANIFOLD—SURFACECARTESIAN_POINT’,’AIc-NON_MANIFOLD_SURFACE.DEGENERATE_PCURVE’,’AIc_NON_MANIFOLD_SURFACE.POINT—ON—CURVE。,’AIc-NON_MANIFOLD_SURFACE.POINT_ON_SURFACE’]*TYPEOF(oe.edcre_element.edgestart\vertex_point.vertex_geometry))=1)AND(SIZEOF([’AIC_NONMANIFOLD_SURFACE.CARTESIAN_POINT’,’AIc__NON_MANIFOLD-SURFACE.DEGENERATE_PCURVE’,。AIc_NON_MANIFOLD_SURFACE.POI胛_ON—CURVE’,。AIc_NON_MANIFOLD_SURFACE.POINT一0N—SURFACE。]*TYPEOF(oe.edge_element.edgeend\vertex_point.vertex_geometry))=i))))=0)))=0))))=0)))=0)))=0;WRl3:SIZEOF(QUERY(fbsm(*QuERY(it(*SELF.items’AIc_NON_MANIFOLD_SURFACE.FAUE_BASEDSURFAUEMODEL’INTYPEOF(it))lNOT(SIZEOF(QUERY(cfs(*fbsm\face_based_surface_modelfbsm_facesNOT(SIZEOF(QUERY(fa(*cfs.cfs—facesNOT((|AICNC时MANIFOLD_SORFACE.ACmANCED_FACE’IN暇P髓(fa))OR(SlZEOF(QuEaY(vlpfbnds(*QUERy(bnds(*fabounds’AIcN嗵№NⅡⅡD&碰^压.、7EE四盛【0∞’工N嘎P∞F(bnds.bol】ncD)INOT(’AIC—NONMANIFOLDSURFACE.VERTEX_POINT’INTYPEOF(vlp_fbnds\vertex_ioop.100p_vertex))))2o))))2o)))=0)))=0;WRl4:SIEEOF(QUERY(fbsm《*QUERY(it(*’AIc_NON_MANIFOLD_SURFACE.FACE—BASEDTYPEOF(it))ISELF.itemsSURFACE__MODEL’INNOT(SIZEOF(QUERY(cfs<*fbsm\face_based_surface_model.fbsm—facesNOT(SIZEOF(QUERY(fa<*cfs.cfs—facesNOT((’AIcN叫MbNI砌Dg脚.删锄∞』般’INTYPECF(fa))OR(SIEEOF(QUERY(vlpfbnds(*0UERY(bnds(*fa.hounds9 GB/T16656.508—2010/ISO10303-508:2001’AIc珂渊MANI阿D文腼姐.ⅦR皿【【0∞’INTYP∞F(h凼.b。Ⅲ曲)lNOT(SIZEOF([。AIc_NON_MANIFOLD_SURFACE.CARTESIAN_POINT’,’AIc_NON_MANIFO【D—SURFACE.DEGENERATE_PCURVE’,’AIc_NON—MANIFOLD_SURFACE.POINT—ON—CURVE’,’AIc-NON_MANIFOLD_SURFACE.POINT—ON—SURFACE。]*TYPEOF(vlp_fbnds\vertex_loop.100p_vertex\vertex_point.vertex_geometry))=1)))=0))))=0)))=O)))=0;END_ENTITY;(*形式限制:WRl;non_manifold—surface—shape—representation项应是face—based—surface—models,mapped—items或者axis2_placemenL3ds。注7:a】【i“一placement_3d是一个有效的mapped_item.mapping—target。为了将另一个表达包含在non—manifold—sudaceshaperepresentation的项列表之内,mapped—item.mapping—source.mapping.origin可以是任何建立在mapped_representation的geometric_representation_context中的一个几何学上的实体。如果该实体是一个a五s2一placement_3d,那么将mapped—representation映射为non_marfifold-surface-shape—representation的算子,符合只能做平移和旋转操作的转换矩阵。如果一个cartasian_transformation_operator_3d被用作map—ping_origin,缩放和映射就是可能的。WR2:non_manifold_surface_shape—representation中至少应有一个项是一个face—based—surface—model或者一个mapped_item。WR3:如果non—manifold—surface—shape—representation中有一个mapped—item,它的mapping—source的mapped_representation应是一个non_manifold_surface_shaperepresentation。该shape_repre-sentation应包含至少一个face_basedsurface_model。WR4:一个面应被实例化为一个fare—surface,它的子类型是advanced—face,或者是一个oriented—face。WR5:通过一个face_surfare,所有被曲面引用的基本几何应该或者在advancedface的引用树范围之内,或者是有效的曲线和衄面。一个offseLsurface的basis_surface应是一个elementary—surface,b—spline—surface,offset—surface,sweptsurface,或者是一个surface_replica。一个surface—replica的parent—surface应是一个elementary—surface,b—spline—surface,offset—surface,swept_surfare或者是一个surface_replica。一个swept—surface的sweptcurve应是一个line,conic,pcurve,surface—cnrve,offset—CUl-ve一3d,b—spline—CHIVe,polyline或者是一个curve_replica。对于b—spline—sudaces和offset—surfaces,属性self—intersect应该梭设置为FALSE或者UN-KNOWN。注8:通过函数nmsLsurface_check来验证surface是否遵守这些约束。WR6:所有的基本几何体都通过一个oriented_face被引用。Face_element应在advanced—face的引用树范围之内,或者是有效的曲线和曲面。一个Offset—surface的Basis—surface应是一个elementary—surface,b—spline—surface,offset—surface,swept_surface或者是一个surfacereplica。一个surfacereplica的parent—surface应是一个elementary—surface,b—spline—surface,offset—surface,swept_surface或者是一个surface_replica。一个swept_surface的swept_curve应是一个直线,圆锥,pcurve,surface_curve,offset_curve_3d,b】0 GB/T16656.508—2010/]so10303-508:2001spline_curve,抛物线或者是一个curve_replica。对于b_印liIl£∞rf姻和offset_surfaces,属性self_intecsect应被设置为FALSE或者UNKNOWN注9:函数nmsfsurfacecheck证实surface是不受这些约束的。WR7:一个face_bound的bound是被一个face所引用,而face或者直接被connectedface_set所引用,或者通过一个oriented—face而被引用。face_bound的bound应该在advanced_face的参引用树范围之内,或者是一个edge_loop,或者是一个vertex_loop。WR8:一个有界的edge的几何体是一个被face所引用的oriented—edge的edge—element。而face或者直接被connected—face—set所引用,或者通过一个oriented—face而被引用。该几何体应该在advanced_face的引用树范围之内,或者是一个edge_curve。WR9:culwe通常用于定义edge的几何体,edge是一个被face所引用的edge的edgecarve的edge_geometry。而face或者直接被connected_face_set所引用,或者通过一个oriented—face而被引用。curve应是一个b_spiine_curve,conic,curve_replica,line,offset_curve一3d,pcarve,polyline’surface—curve,或者是在advanced_face的引用树中的一个curve。WRl0:所有被cⅡrve引用的基础几何应在advanced—face的引用树范围之内,或者是有效的curve和surface。一个curve_replica的parent_carve应是一个line,conic,pcurve,surface_curve,offsetcurve_3d"b—spline_curve,polyline或者carve_replica。一个offset_curve_3D的basis_carve应是一个line,conic,pcurve,surfacecarve,offset_enrve3d"b_splinecurve,polyline或者curve_replica。一个surface_carve的curve_3d应是一个line,conic,offset—curve_3d,b—spline—cnrve’polyline或者curvereplica。一个surface_curve的basis—surface应是一个b—spline—curve,elementary—surface,offset—surface,surface_replica,或者sweptsurfare。polyline应该包含至少三个cartesian_point。对于bspline—curves和offset—cni"ve一3ds,属性self—intersect应该被设置为FALSE或者UN—KNOWN。注10:函数nmsf_sur/ace_check验证curve是否遵守这些约束。WRll:一个edge的edge_start和edge_end应在advanced_face的引用树范围之内,或者是vertex_point。WRl2:vertex是edge_loop的一部分,vertex的vertex—geometry应在advanced—face的引用树范围之内,或者是一个cartesian_point,point_on_curve,point_on_surface,或degenerate_pcurve。WRl3:一个vertex_loop的loopvertex应在advanced_face的引用树范围之内,或者是一个vertex—point。WRl4:vertex是vertex_loop的一部分,vertex的vertex_geometry应在advanced_face的引用树范围之内,或者是一个cartesian_point,point_on—curve,point_on_surface或degenerate_pcurve。非形式限制:IPl:b_spline-curve在non—manifold—surface—shape—representation的拓扑域范围之内的部分不应自相交。IP2:b_spline_surface在non_manifold_surface_shape_representation的拓扑域范围之内的部分不应自相交。IP3:offset_curve_3d在non_manifold_surfaceshape—representation的拓扑域范围之内的部分不应自相交。IP4:offsetsurface在non_manifold_surface_shape_representation的拓扑域范围之内的部分不应自11 GB/T16656.508—2010/塔010303-508:2001相交。IP5:如果一个face只有一个连通的外边界。相应的loop应该用face_outer_bound表达,如果外边界没有连通的,就不能应用face_outer_bound。4.3aic_non_munifold_snrface函数定义本条描述了用于格式化aic_non_manifold_surfaee模式约束所需的函数。这些函数用来描述non—manifold—surface_shape_representation实体。4.3.1函数nmsfcurve_checknmsf_curve—check函数检查在non_manifold_surface—shape—representation相关环境中一个曲线实例的有效性。所有被该曲线实例所引用的几何体,例如其他曲线和曲面,也都是有效的。示例:该函数验证的约束之一就是一个b—spline—cl,lrve实例是否把自相交标志设置为TRUE,FALSE或UN—KNOWN;只有FALSE和UNKNOWN是有效的。这里是一个递归调用的实例。如果一个eul—e引用另一个curve作为基曲线或父益线,就再一次词用nmsf_curve_check函数。如果引用一个surface,调用nmsfsurface—check函数。当实体类型不再引用任何curve或surface时,递归过程终止。下列曲线类型以及它们的子类型在non—manifold—surface—shape—representation范围内,因此也是这个函数的有效输入:——b_spline_curve;——c0Ⅱic:——curve_repU曲;——line:——off鲥L_curve一3d;——pcⅡrVe;——polyIine;——sur|-ace—curye。这些euI-ve类型中的四种引用基曲线或父曲线。下面的列表给出了有效的引用。注1:该函数适用于那些在下列所标记的递归过程中的实体类型,而这个递归过程用来检查它们实体引用的有效实例化。一个curve_replica的parent_curve应当是下面类型中的一种:——b—spline..curVe;——c∞ic;——curve_replica(递归的);——line3——off∞t_curve_3d(递归的);——pcurve(递归的);——poIyUne;——surface_curve(递归的)。一个offset_eurve_3d的basis_curve应当是下面类型中的一种:——b—splin号一cⅡrve;——conic:——“rve_replica(递归的);——Hne。——offseLcurve_3d(递归的);——pcurve(递归的);】2 GB/T16656.508—20101Is010303-508:2001——surface_curve(递归的)。在一个被pcarve作为reference_to_curve引用的def"mitional—representation的项的集合里的一个实例应当是下面类型中的一种:——b—splinecurve;——conic:——cⅡrve_r印li∞(递归的);——line:——polyline。一个surface_curve的curve_3d应当是下面类型中的一种:——b—spliⅡe—cⅡrVe;——c∞ic:——cⅡrve_npli∞(递归的);——line。——offseLcurve-3d(递归的);——polyHⅡe;——surface_cun旭(递归的)。Pcurve和surfacecurve引用surface。为确认surface的有效性而调用nmsLsurface—check函数。non—manifold—surface—shape—representation对pcurves和surface—curves的有效曲面引用与16656.42所描述的有同样的约束要求。一个有效的polyline应当至少由三个cartesian_pomt组成。对于B样条和偏置几何体,self_intersect属性应当被设置为FALSE或UNKNOWN。如果所有引用几何体的类型都在non—manifold—surface_shape—representation范围内,并且所有的约束都满足,那么函数返回TRUE,否则函数返回FALsE。注2:该函数并不根据GB/T16656.42中规定的需求来检查其引用的正确性,只是检查non—manifold—surface—shaperepresentation范围外的附加需求。EXPRESS描述:*)FUNCTIONnmsf_curve_check(ev:representation_item):BOOLEAN;(*Thisfunctionverifiesthevalidityofacurveinthecontextofanon-manifoldsurfacemodel.Representation_itemsarevalidinput,however,theyaresupposedtobecurves;otherwisethisfunctionwillreturnfalse.*)(*complexsubtypesofcurvethatarebothbounded—curveandoneofconic,curve_replica,llne,oroffset_curve一3darenotvalid*)IFSIZEOF([’AIC_NoN.MABIFOLD_SURFACE.BOUNDED_CURVE’,’AIc-NON_MANIFOLDSURFACECONIC’,’AIc-NON_MANIFOLD_SURFACE.CURVE_REPLICA’,’AIc-NON_MANIFOLD_SURFACE.LINE’,·AICNONMANIFOLD_SURFACE.OFFSET_CURVE_3D。]*TYPEOF(cv)))lTHENRETURN(FALSE);13 GB/T16656.508--2010/ISO10303-508:200114ELSE(*b—spline_curvesshallnotself—intersect*)IF((-AIc_NONMANIFOLD_SURFACE.B_SPLINE_CURVE’INTYPEOF(cv))AND(ev\b-spline_curve.self—intersect2FALSE)OR(cv\bspline_curveself—intersect2UNKNOWN))TI-IF_N删(TRUE);ELSE(*conicsandlinesarevalidcUrVEtypes*)IFSIZEOF([’AIC_NON_MANIFOLD_SURFACE.CONIC’,·AICNONMANIFOLD_SURFACE.LINE’]*TYPEOF(cV))2lTHENRETURN(TRUE);ELSE(*acurve_replicashallreferenceavalidcurve*)IF·AIc—NONMANIFOLD_SURFACE.CURVE_REPLICA’INTYPEOF(ev)THENRETURN(nmsf—curve_check(cv\curve—replica.parent—curve));ELSE(*anoffset_curve_3dshallnotself-intersectandshallreferenceavalidcnrve;apolylineisnotavalidbasis_curve*)IF((.AIC—NON—MANIFOLD—SURFACE.OFFSET_CURVE_3D’INTYPEOF(cv))AND((cV\offset—enrve_3d.self—intersect=FALSE)OR(cv\offset_curve_3dself—intersect;UNKNOWN))AND(NOT(’A工c-NoN_MANIFOLD_SURFACE.POLYLINE’INTYPEOF(cv\offset_curve_3d.basis—curve))))THENRETURNnmsf—curve_check(cv\offset—curve_3d.basis—curve));ELSE(*apcurveshallreferenceavalidcurveandavalidbasis_surface*)IF。AIC—NON—MANIFOLDSURFACE.PCURVE’INTYPEOF(cv)THENRETURN((nmsf—curve_check(cV\pcurve.reference—tocurve\representation.items[i]))AND(rimsf_surfacecheck(cv\pcurvebasis—surface)));ELSE(*asurface—curvereferencesacurve_3dandoneortwopcurgesoroneortwosurfacesoroneof *)GB/T]6656.508--2010/IS070303-508:2001each;alloftheserefereDcesshallbevEdidIF。AIC_NONMANIFOLD—SURFACE.SURFACECURVE·INTYPEOF(cv)THEN(*ifthecurvereferenceiscorrect,checkalsotherestIFrmsf._curve_chenk(cr}surface_curve.curve_3d)THENREPEATi:=1TOSIZEOF(cv\surfacecurve.associated_geometry);(“doforoneortwoassociatedgeometrys:工F’AIc_NONMANIFOLDSURFACE.SURFACEt工NTYPEOF(cv\surface_curve.associated_geometry[i])THENIFNOTnmsf—surface—check(cv\surface_curve.associated_geometry[iJ)THENRETURN(FALSE);END—IF;ELSEIF。AIc_NON_MANIFOLD_SURFACE.PCURVEINTYPEOF(cv\surfacecurve.associated_geometry[iJ)THENIFNOTnmsf一.curve_check(cv\surfacecurve.associated_geometry[i])THENRETURN(FALSE);END—IF;END_IF;END_REPEAT;RETURN(TRUE);END—IF;ELSE(*apolylineshallhaveatleast3point,8IF’AIC_NONMANIFOLDSURFACE.POLYLINE—INTYPEOF(cv)THENIF(SIZEOF(cv\polyline.points)>=3)THENRETURN(TRUE):ENDIF;END_IF;ENDIF;END_IF;END_IF}ENDIF;(+FALSEisreturnediftheinputparameterCVisnotavalidcurve.15 GB/T16656.508—2010/Lso10303-508:2001*)RETURN(FALSE);END_FUNCTION;(*论据定义:“:(输入)一个representation—item,假定该representation—item是一个curve,该curve在non—manifold—surface_shape_representation相关环境中被检查为是有效的。BOOLEAN:如果这个representation—item是一个有效的curve,则(输出)是TRUE,否则输出是FALSE。4.3.2函数nmsf_surface_checknmsf..surface_check函数检查在non—manifold_surface_shaperepresentation环境中surface实例的有效性。所有被该surface实例所引用几何体,例如其他curve和surface,也都是有效的。示例;该函数验证的一个约束就是一个b—spline—surface实例是否把自相交标志设置为TRUE,FALSE或UN—KNOWN;只有FALSE和UNKNOWN是有效的。这里是一个递归调用的实例。如果一个surface引用另一个surface作为基曲面或父曲面,就再一次调用nmsf_surface—check函数。如果引用一个curve,调用rimsf_curve_check函数。当实体类型不再引用任何curve或surface时,递归过程终止。下列surface类型以及它们的子类型在non_manifoldsurface—shape_representation范围内,因此也是这个函数的有效输入:——b—spliⅡe—surface;--elementary_surface;——offseLsurfacer——sⅡf”e_npli∞;——swepLsurface。这些surface类型中的两种引用基曲面或父曲面。一个surface—replica的parent—surface和一个offset_surface的basis_surface都应当是下面类型中的一种:——b_spline_surface;--elementarysurface;——o托∞Lsurface(递归的);——surface-他pH∞(递归的);——swepLsurface。注1:该函数适用于那些在下列所标记的递归过程中的实体类型,而这个递归过程用来检查它们实体引用的有效实例化。Swept_surface引用curve。为确认curve的有效性而调用nmsfcurve_check函数。non—manifold—surface_shape_representation对有效的扫描曲线引用与GB/T16656.42所描述的有同样的约束要求。non_manifold—surface_shape_representation范围内的所有曲线作为swept_surface和swept—curves都是有效的。对于B-spline和偏置几何体,selLintersect属性应当被设置为FALSE或UNKNOWN。如果所有引用几何体的类型都在non—manifold—surface—shape_representation范围内,并且所有的约束都满足,那么函数返回TRuE,否则函数返回FALSE。注2:该函数并不根据GB/T16656.42中规定的需求来检查其引用的正确性,只是检查non—manifold—surface—shape_representation范围外的附加需求。 GB/T16656.508—20IO/ISO10303-508:2001EXPRESS描述:*)FUNCTIONemsf—surface_cheek(surf:surface):BOOLEAN;(*Thisfunctionverifiesthevalidityofasurfaceinthecontextofanon-manifoldsurfacemodel.*)(*elementary_surfacesarevalidsurfacetypes*)Ⅱ1^工c,磷№NⅡ伍D文腰A血Ⅱ姗盯&踟’埘nP日∞(surf)Ⅱ瑾筲RETURN(TRUE);ELSE(*aswept—surfaceshallhaveavalidsweepingcurve*)IF’AIc-NON-MANIFOLD_SURFACE.SWEPT_SURFACE’INTYPEOF(surf)THENRETURN(emsf—curve_check(surf\swept-surface.swept—curve));ELSE(*anoffset—surfaceshallnotself—intersectandshellreferenceavalidsurface*)IF((1AICN叫MANI阿Ds[Ⅱ砸A皿.C回FSET_SURFACE’埘TYP∞F(surf))姗(surf\offset-surface.self—intersect=FALSE)OR(surf\offseLsurface.self-intersect=UNKNOWN))THENRETURNemsf—surface—check(surf\offset-surface.basis—surface));ELSE(*asurface—replicashallhaveavalidparentsurface*)IF’AICNONMANIFOLD_SUBFACE.gⅡ嚣A皿砸PⅡcA’INTYPFOF(氨=f)Ⅱ珏珊RETURN(nmsf—surface—check(surf\surface_replica.parent—surface))ELSE(*ab_spline_surfaceshallnotself-intersect*)IF((1AICNON№NI眦D&Ⅱ矾江.BSH.I蛾S【庄砸_A@’工NⅡP哟F(surf))AND(surf\b-spline—surface.self—intersect=FALSE)OR(surf\b_spline_surface.self—intersect=UNKNOWN))THENRETURN(TRUE);END_IF;END—IF;END_IF;END—IF;RETURN(FALSE);EllD—FUNCTION)17 GB/T16656.508—2010/I$010303—508:2001(o论据定义:Surf;(输入)的曲面被检查在non—manifold—surface—shape—representation中是否是一个有效的曲面。BOOLEAN:如果该曲面是一个有效的曲面,则(输出)为TRUE,否则为FALSE。*)END_SCHEMA;一一aic—nonmanifold_surface(* GB/T16656.508—2010/[so10303-508:2001附录A(规范性附录)实体短名表A.1提供了本部分规定的实体短名。有关短名的使用要求见GB/T16656的实现方法。表A.I实体短名实体名短名NON—MANIFOLD—SURFACE_SHAPE_REPRESENTATIONNMSSR GB/T16656.508—2010/Lso10303-508:2001附录B(规范性附录)信息对象注册B.1文档对象标识在开放系统中,为确定信息对象的唯一标识,规定本部分的对象标识符为:{isostandard10303part(508)version(I))本标识符的含义在GB/T16262.1中进行了定义,并且在ISO10303—1中进行了描述。B.2模式对象标识为确定aic—non—manifold—SUtrace在开放系统中的唯一标识,规定了non—manifold—surface模式(见第4章)对象标识符:{isostandard10303part(508)version(/)object(1)non_manifold—surface(1))本标识符的含义在GB/T16262.1中进行了定义,并且在ISO10303—1中进行了描述。 GB/T16656.508—2010/LSO10303—50812001附录C(资料性附录)EXPRESS-G图图C.1~图C.22采用了ISO10303—11的接1:3规范,对应于第4章中短表所给定的EXPRESS描述。这些图使用EXPRESS语言的EXPRESS-G图的符号表示法。在IS010303—11:1994的附录D中定义了EXPRESS-G。注1:以下选择类型与符合ISO10303—11隐式接口规则的AIC扩展列表相连接。本部分的其他实体不使用这些选择类型。——cun7e—o自LsⅡrfhce;——founded_item_select;--geometric_set_select;——瑶I髓suI’e—value;--reversible_topology;--reversible_topology_item;——shell:——surface_model;——transfo珊ation:--trimming_select;——vector_OLdir代ti蛐。注2:以下实体类型与符合IS010303—11隐式接rl规则AIC扩展列表相连接。本部分的其他实体不使用这些实体类型。这些实体类型也不单独地实例化。--composite_curve;--composite_curve_on_surface;--composite_curve_segment;——oriented—cl懈ed—shell;--oriented_open_shell。21 GB/T16656.508—2010/LSO10303-508:2001图C.1EXPRESS-G图22—1 tramformationGB/T16656.508—2010/LSO10303—508:2001p叫l哪h。二:::了::::::⋯⋯⋯⋯一一『-T⋯⋯⋯⋯一1::”‘誓警时。图C.2EXPREss-G图22-2]———————-—————_—————●—"91m”cia—s”mt8le-卜——o——————————————————...—:23 GB/T16656.508—2010/ISO10303-508:2001图C.3EXPRESS-C.图22-3] GB/T16656.508—2010/LSO10303-508:2001图C.4EXPRESS-G图22-4 GB/T16656.508—2010/ISO10303-508:2001图C.5EXPRESS-G图22-5 GB/T16656.508—2010/ISO10303—508:2001图C.6EXPRESs_G图22-6 GB/T16656.508—2010/iso10303-508:2001图c.7EXPRESS-G图22-7 GB/T16656.508—2010/ISO10303-508:2001图C.8EXPRESs-G图22—8 GB/T16656.508—2010/ISO10303-508:200130厂TrrLlsurfacemodeI图C.9EXPRESS-G图22-9习 GB/T16656.508—2010/]so10303—508:2001(10,3z(7))(1一⋯⋯ksm-neCill"wel四。。x。。。。,。。。。f。。。未jom。‘⋯—r一——⋯、—~⋯⋯、—⋯⋯一jo。gree0“‘ve--ro。qi。—。。。。』。。。南。icbsed_curve。lUselfintersect“(DER)“pp“j“d。1_on_c∞仃ol_p01““0_duniformcurve—da—un曲m-cu一—cIkaer—c一。。dk絮蔷:嘏。““5”qIkn0L孵Uknot_multiplicitiesL【2:,]一∞既)“p刚nd“_o叫“吣o‘knotsL[2:’】一.qp盯8”。。。r-”柏uen)l,。。0n出+”曲“_血“啦’]0b_spline_curvel(DER)wei曲bA【O.upper_index_on_control_Doints]n图c.10EXPRESs_G图22-1031 GB/T16656.508—2010/LSO10303-508:200132 GB/T16656.508—2010/tso10303-508:2001curvereplica7,2图c.12EXPRESS-G图22—1233 GB/T16656.508—2010/ISO10303—508:2001图c.13EXPRESS-G图22-13 GB/T16656.508—2010/]so10303-508:2001i-F—————————————。—’———’::curve_on_sufface:三12[,15)固固图C.14EXPRESS-G图22-1435 GB/T16656.508—2010/ISO10303-508:200136图C.15EXPRESS-G图22-15 GB/T16656.508—2010/IsO10303-508:2001图C.16EXPRESS-G图22-1637 GB/T16656.508—2010/1SO10303-508:200138图c.17EXPRESs-G图22-17 GB/T16656.508—2010/xso10303-508:2001图C.18EXPRESS-G图22—1839 GB/T16656.508—2010/Iso10303-508;200140图C.19EXPRESS-G图22-19 GB/T16656.508—2010/[so10303-508:2001图C.20EXPRESS-G图22-2041 GB/T16656.508—2010/Iso10303-508:200142rcvcrsibIctopology卜_—_q“搿芸嚣Mesetofreversibletopologyitem矧irCVCrSibletopology_item图C.21EXPRESS-G图22-21一咒一呻一L-TIl上一『lI,●II『0一LrL GB/T16656.508—2010/LsO10303-508:2001图c.22EXPRESs.G图22-22 GB/T16656.508—2010/LSO10303-508:2001附录D(资料性附录)计算机可解释的列表本附录引用了本部分规定的EXPRESS实体名和对应短名的列表,同时也提供了本部分所规定的每一个EXPRESS模式的列表,但无注释或其他说明文字。这些列表具有计算机可以解释的形式,并可以在以下uRL中查找到:短名:http://www.mel.nist.gov/div826/subject/apde/snr/EXPRESS:http://www.meI.nist.gov/step/parts/part508/is/如果访问这些网站有困难,可与ISO中央秘书处或ISOTC184/SC4直接联系。E—mai]:sc4sec@Cgle.nist.gov在以上URL中,以计算机可解释的形式所提供的信息是资料性的。而本部分正文所包含的信息是规范性的。'

您可能关注的文档