1、ICS 25.040.40 L 67 喧嚣国家标准国不日11: -、民中华人GB/T 16656.507-201 O/ISO 10303-507: 200 1 工业自动化系统与集成产品数据表达与交换第507部分:应用解释构造:几何有界曲面Indllstrial automation systems and integration Prodllct data representation and exchange一Part 507 : Application interpreted constrllct: Geometrically bOllnded sllrface (ISO 10303-50
2、7: 2001 , IDT) 2011-01-14发布2011-05-01实施数码防伪中华人民共和国国家质量监督检验检亵总局中国国家标准化管理委员会发布GB/T 16656.507-2010/ISO 10303-507 :2001 目次前言.1 引言.II 1 范围-2 规范性引用文件3 术语、定义和缩略语23. 1 ISO 10303-1中定义的术语 2 3.2 GB/T 16656.42中定义的术语23.3 GB/T 16656.202中定义的术语.2 3.4 其他术语和定义3. 5 缩略语34 EXPRESS短表附录A(规范性附录)实体短名.附录B(规范性附录)信息对象注册20附录c(资
3、料性附录)EXPRESS-G图21附录D(资料性附录)计算机可解释的列表40GB/T 16656.507-2010/ISO 10303-507 :2001 目。吕GB/T 16656(工业自动化系统与集成产品数据表达与交换是一项由多个部分组成的标准,各部分单独出版。GB/T16656的所属各部分又组成多个子系列,即:一一一第1部分至第19部分规定了描述方法;一-第20部分至第29部分规定了实现方法;一一第30部分至第39部分规定了一致性测试方法与框架;第40部分至第59部分规定了集成通用资源;第100部分至第199部分规定了集成应用资源;一一第200部分至第299部分规定了应用协议;一第300
4、部分至第399部分规定了抽象测试套件;二一第400部分至第499部分规定了应用模块;第500部分至第599部分规定了应用解释构造;一一第1000部分至第1999部分规定了应用模块。GB/T 16656(工业自动化系统与集成产品数据表达与交换现已发布和即将发布的包括以下部分:第1部分:概述与基本原理;一一第11部分:描述方法:EXPRESS语言参考手册;第21部分:实现方法:交换文件结构的纯正文编码;第28部分:实现方法:EXPRESS模式与数据的XML表达(使用XML模式); 第31部分:一致性测试方法论与框架:基本概念;一一一第32部分.-致性测试方法论与框架:对测出实验室与客户的要求:第3
5、4部分:一致性测试方法论与框架:应用协议实现的抽象测试方法;第41部分:集成通用资源:产品描述与支持原理;一-一第42部分:集成通用资源:几何与拓扑表达;二一第43部分:集成通用资源:表达结构;一一第44部分:集成通用资源:产品结构配置;第45部分:集成通用资源:材料;一一第46部分:集成通用资源:可视化显示;第47部分:集成通用资源:形状变化公差;第49部分:集成通用资源:工艺过程结构和特性;一一-第51部分:集成通用资源:数学表达;第54部分:集成通用资源:分类和集合论;一一一第55部分:集成通用资源:过程与混合表达;一一第56部分:集成通用资源:状态;第101部分:集成应用资源:绘图;第
6、105部分:集成应用资源=运动学;一一第201部分:应用协议:显式绘图;-一-第202部分:应用协议:相关绘图;第203部分:应用协议z配置控制设计;I GB/T 16656.507-2010/ISO 10303-507 :2001 一一第238部分:应用协议:计算机数值控制器用的应用解释模型;一一一第501部分:应用解释构造z基于边的线框;第502部分:应用解释构造:基于壳的线框;第503部分:应用解释构造:几何有界二维线框;一一第504部分:应用解释构造:绘图注释;二一第505部分:应用解释构造:图样结构与管理;第506部分:应用解释构造:绘图元素;一一第507部分:应用解释构造:几何有界
7、曲面;二十第508部分:应用解释构造:非流形曲面;第509部分:应用解释构造:流形曲面;第513部分:应用解释构造:基本边界表达;一第520部分:应用解释构造:相关绘图元素;一一第1001部分:应用模块:外观赋值;一一第1002部分:应用模块:颜色;第1003部分:应用模块:曲线外观;第1004部分:应用模块:基本几何形状;第1005部分:应用模块:基本拓扑;第1006部分:应用模块:基础表达;一一第1007部分:应用模块:通用曲面外观;一一第1008部分:应用模块:层赋值;一第1009部分:应用模块:形状外观和层。本部分是GBjT16656的第507部分。本部分等同采用国际标准ISO1030
8、3-507 :2001(工业自动化系统与集成产品数据表达与交换第507部分:应用解释构造:几何有界由面)(英文版),其技术内容和结构与ISO10303-507: 2001保持一致,为便于使用,做了如下编辑性修改:E a) 删去了ISO前言、索引;b) 对于带下划线的用于EXPRESS语言描述的各黑体英文实体名、属性名和函数名等,为了维护其英文原意,在本部分中,都使用其英文原名,仅当其作为标题时,我们在该英文名前增加了其归属的类型说明。本部分的附录A、附录B为规范性附录,附录C、附录D为资料性附录。本部分由中国机械工业联合会提出。本部分由全国自动化系统与集成标准化技术委员会(SACjTC159)
9、归口。本部分主要起草单位:中国标准化研究院。本部分主要起草人:周散华、王志强、李文武、洪岩、杨青海、刘守华。GB/T 16656.507-2010/ISO 10303-507 :2001 引GBjT 16656是计算机可解释的用于产品数据表达和交换的技术标准。其目的是提供贯穿产品整个生命周期的、独立于任何特定系统的描述产品数据的中性机制。其描述功能不仅适合中性文件的交换,而且也是实现和共享产品数据库及存档的基础。GBjT 16656由多个部分组成,每个部分单独发表。各个部分都分属以下系列之一:描述方法、集成资源、应用解释构造、应用协议、抽象测试套件、实现方法和一致性测试。本部分属于应用解释构造
10、系列。应用解释构造(AIC)给出了解释构造的逻辑组合以支持在多个应用相关环境中使用产品数据的特定功能。解释构造是集成资源的公共解释以支持应用协议中共享信息的需求。本部分通过几何有界曲面模型为几何形状的描述规定了应用解释构造。它包括定义纯几何有界模型的几何资源,几何有界模型由基本与雕塑曲线和曲面组成。E / GB/T 16656.507-2010/ISO 10303-507 :2001 工业自动化系统与集成产品数据表达与交换1 范围第507部分:应用解释构造:几何有界曲面GB/T 16656的本部分规定了集成资源的解释,通过几何有界曲面模型来满足对几何形状的表达的需求。以下内容属于本部分的范围=
11、一-3D点;一一定义在曲线或由面参数空间中的点;一-3D曲线;定义在曲面参数空间中的曲线。注:这样的曲线也称为pcurves或cons,这是参数化曲线和曲面上的曲线的简称。一一-基本曲线:圆,椭圆,抛物线和双曲线;一一相交曲线;一一一至少由三点组成的折线;-一一曲面;一一基本曲面:平面、柱面、锥面、圆环面和球面;一一一通过曲线的旋转或线性拉伸而产生的扫描面;一一一雕塑曲线和曲面;-一曲线和曲面的剪裁;曲线和曲面的复合;曲线、曲面和曲面模型的复制;曲线和曲面的三维偏置。以下内容不适用于本部分的范围:-一一元界几何;一一自交几何;一一二维笛卡尔坐标空间内的几何;一一一点的复制;-一拓扑实体。2 规
12、范性引用文件下列文件中的条款通过GB/T16656的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。GB/T 16262. 1信息技术抽象语法记法一CASN.l)第1部分:基本记法规范CGB/T16262. 1 2006 ,ISO/IEC 8824-1: 2002 , IDT) G/T 16656.507-2010/ISO 10303-507:2001 GB/T 16656.41-1999 工业自动化系统与集成
13、产品数据表达与交换第41部分:集成通用资源:产品描述与支持原理(idtISO 10303-41: 1994) GB/T 16656.42 -1998 工业自动化系统与集成产品数据表达与交换第42部分:集成通用资源:几何与拓扑表达(idtISO 10303-42: 1994) GB/T 16656.43-1999 工业自动化系统与集成产品数据表达与交换第43部分:集成通用资源:表达结构(idtISO 10303-43: 1994) GB/T 16656.202一2000工业自动化系统与集成产品数据表达与交换第202部分:应用协议:相关绘图(eqvISO 10303-202: 1996) ISO
14、10303-1:1994 工业自动化系统与集成产品数据表达与交换第1部分:概述与基本原理ISO 10303-11 :1994工业自动化系统与集成产品数据表达与交换第11部分:描述方法:EX-PRESS语言参考手册 0; WR3 :SIZEOF (QUERY (rni 0 ) = 0; WR4 : SIZEOF (QUERY (gs 0) 0; END_ENTITY; (祷正式建议:WRl: geometrically _ bounded_surface_shape_representation中的items应该是geometric_set, mapped_item或者axis2_placeme
15、nt_3d。注3:axis2_placement_3d是一个有效的mapped_item.mapping_target.为了包含另一个representa tion在geometrically_bounded_surface_shape_representation(有效mapped_items见WR3)的items列表之内,mapped_item. mapping_source. mapping. origin可以是在mapped_representation的geometnc_representatlOn_context中可以找到的任何一个实体。如果这个实体是axis2_placement
16、_3d,那么根据一个只能做平移和旋转操作的转换矩阵,把mapped_representation映射为geometrically_bounded_surface_shape_representation.如果cartesian_transformation_operator_3d被用作mapping_origin,缩放和镜像就是可能的。WR2: geometrically _ bounded _ surface _ shape _ representation中至少有一个items应该是geometric_set或者mapped_itemoWR3:如果geometrically_ bounde
17、d _ surface _ shape _ representation中有mapped_ item,它的7 GB/T 16656.507-2010/ISO 10303-507 :2001 mappmg_source的mapped_represen ta tion应该是geometrically_ bounded_ s urface_ shape_represen ta tiono这个shape_representation应该包含至少一个geometric_set0 WR4:在geometric_set的elements中,每一个point都应该是一个有效的point,这个geometric
18、_sct是geometrically_bounded_s ur face_shape_represen ta tion的itcms之一。WR5:在geometric_set的elemcnts中,每一个curve都应该是一个有效的curv巴,这个geometric_set是geometrically_ bounded_surface_sha pe_represen ta tion的items之一。WR6:在g巳ometric_ set的elements中,每一个surface都应该是一个有效的surface,这个geometric_set是geometrically_bounded_surfac
19、e_shape_representation的items之一。WR7:至少一个geometric_sct的elements的至少一个应该是surface,这个geometric_set在geo-metrically _ bounded_s urface_shapc_repres巳ntation的items中。非正式建议:IPl : b_spline_curve不应该自交。IP2: composite_curvc不应该自交。IP3: offset_curve_3d不应该自交。IP4: b_splinc_surface不应该自交。IP5 : offset_surface不应该自交。IP6:专门用于
20、支持其他几何实体的定义的儿何实体本身不应该存在于geornetncset的elements集中。4.3 aic_geometricaUy_bounded_surface的函数定义本条描述了aic_gcometrically_bou日出surface模式中公式化约束所需的函数。这些函数用于规定geometrically_bouncled_surface_shape_representation实体。4.3. 1 函数gbsf_checkpointgbsf_check_point函数检查point实例在geometrically_ boundcd_surfacsha pe_rcprcsen ta
21、tion相关环境下的有效性。这个point实例引用的所有几何,比如curvcs和surfaces,也要进行有效性检查。当curve或5盯facc被引用时,函数gbsf_chcck_curve和gbsf_ chcck_s urfacc分别被调用。这些函数中的递归过程终止于不再引用任何point,c盯vc或5盯face实体类型。以下类型和它们的子类型在geomctrically_bounded_s盯facc_shapc_rcprcsentation范围内,并且是这个函数的有效输入:一一-cartcslan_pomt;一-degen巳rate_pcurve;一一-pomt_on_curve;一-二p
22、oint_on_surface。列表中的后三项引用了curve或surfacc,或者两者都引用。degcnerate_pcurve的basis_surface可能是geometricaIly_ bounded_surface_shape_representation 中任何有效的surface0 dcgenerate_pcurve的refcrence_to_curve应该是下面类型之一:一b_spline_curvc;一-composite_curve(递归); COnIC; 一-curve_replica(递归); linc; -一一-polylinc;一一trimmcd_curve(递归)
23、。注1:这个函数应用于以上一个递归过程的列表标记的实体类型,作为检查它们实体引用的有效性示例。8 GB/T 16656.507-2010/ISO 10303-507 :2001 point_on_curve的basis_curve可以是geometrically_ bounded_surface_ sha pe_representa tion中任何有效的curveopoint_on_surface的basissurface可以是geometrically_ bounded_s urface_sha pe_representa tion中任何有效的surface。如果所有的被引用几何的类型都在g
24、eometrically_ bounded_surface_shape_representation的范围内,函数返回TRUE,否则函数返回FALSE。注2:这个函数并不检查关于GB/T16656.42引用的正确性。只有关于geometrically_ bounded_surface_shape_ representatlOn范围的额外要求要检查。EXPRESS描述:关)FUNCTION gbsf_check_point (pnt : point) : BOOLEAN; (祷Thisfunction varifies the validity of a point in the context
25、 of a geometrically bounded surface model. 兴)(头acartesian_point is valid 头)IF且ICGEOMETRICALLY BOUNDED SURFACE.C且RTESIANPOINT IN TYPEOF (pnt) THEN RETURN(TRUE); ELSE (关apoint_on_curve shall reference a valid curve 装)IF AIC GEOMETRIC且LLYBOUNDED SURFACE.POINT ON CURVE IN TYPEOF (pnt) THEN RETURN (gbsf_
26、check_curve(pntpoint_on_curve.basis_curve); ELSE (关apoint_on_surface shall reference a valid surface 兴)IF AIC GEOMETRICALLY BOUNDED SURF且CE.POINT ON SURFACE IN TYPEOF (pnt) THEN RETURN (gbsf_check_surface (pntpoint一on_surface.basis_surface);ELSE (兴adegenerate_pcurve shall reference a valid curve and
27、 a valid surface 祷)IF AIC GEOMETRICALLY BOUNDED SU盯ACE.DEGENERATE PCURVE IN TYPEOF (pnt) T阻NRETURN (gbsf_check_curve (pntdegenerate_pcurve.reference_to_curve representation.itemsl) AND (gbsf一check_surface9 G/T 16656.507-2010/ISO 10303-507 :2001 (pntdegenerate_pcurve.basis_surface); END_IF; END_IF; E
28、ND_IF; END_IF; RETURN(FALSE); END_FUNCTION; (祷参数定义:pnt(输入):在geometricallybounded_surface_shape_representati中point将被检查是否是有效 的point。BOOLEAN(返回):如果这个point是有效的point,返回TRUE,否则返回FALSEc4.3.2 函数gbsf_check_curvegbsf_check_curve函数在geometrically_ bo山lded_surfacc_shpe_representation相关环境下检查curve实例的有效性。其有效性的必要条件之
29、一就是curve实例产生的几何是有界的。这个必要条件的实行由这个函数通过使这个curve实例引用的所有几何(比如其他curves和sutfaces)实施有效检查。如果适合,实例就被递归地调用。即如果curve引用另一个curve作为基本曲线或父类曲线,gbsf_ check_curve函数就又被调用。如果S盯face被引用,gbsf_check_surface函数被调用。这个递归过程终止于实体类型不再引用任何curve或5旧facec除了为有效性应用界定其他标准的必要条件外;curvc不应该被定义成自交。示例:这个函数检查约束的有效性之一看是否b_spline_curve实例的自交标志被设置为
30、TRUE,FALSE或UNKNOWN;只有FALSE和UNKNOWN是有效的。以下曲线类型和它们的子类型在geometrcally _ bounded_s urface_shape_representa tion范围内,并且是这个函数的有效输入:叫盯CODlC; 一-curve_replica;line; offset_curve_3d; pcurve; polyline; surface_curve; trimmed_curve 。注1:这个函数应用于以下递归过程列表标记的实体类型,以便作为检查他们实体引用的有效性示例。curve_replica的parent_curve都应该是下面类型之一
31、:一一-b_spline_curve; composite_curve(递归); CODlC; curve_replica (递归); 一一-line;一一一offset_curve_3d(递归); 一-pcurve(递归); 10 G/T 16656.507-2010/ISO 10303-507 :2001 一一-polyline;一-surface_curve(递归); trimmed_curv巳(递归)。offset_curve_3 d的basis_curve都应该是下面类型之一:b_spline_curve; 一一composite_curve(递归); 一一一一-comc;二curv
32、e_replica(递归); lin巳;一二一offset_curve_3d(递归); pcurve(递归); surface_curve(递归); trimmed_curve(递归)。d efini tional_repres en ta tion的itcms集合中的一个实例,这个实例被pcurve引用为referenceto_ curve,应该是下面类型之一:一一-b_spline_curve;composite_curve(递归); 一一一-comc;curve_replica (递归); 一一一line;一一-polyline;一trimmed_curve(递归)。surface_cu
33、rve的curve_3d应该是下面类型之一:b_splinc_curve; 一-composit巳_curve(递归); 一一一-comc;curvc_replica (递归); 一一line;offset_curve_3d(递归); polyline; 一-surface_curve(递归); trimmed_curve(递归)。Pcurve和surface_curve引用surface。函数gbsf_check_surface被这些surface的有效性调用。geometrically_bound巳d_surface_shape_reprcscntation要求对有效surface在GB/
34、T16656.42中规定的pcurve和surface_curve的引用有同样的限制。一个有效的polyline应该包括至少三个cartesian_point0 属性self_intcrsect因为B样条函数和偏置几何将被设置为FALSE或UNKNOWN。如果所有的引用几何的类型都在geometrically_ bounded_s urface_shape_represen ta tion范围内,并且所有的约束都满足,那么函数返回TRUE,否则函数返回FALSE。注2:这个函数并不检查关于GB/T16656. 42引用的正确性。GB/T16656. 42要求,例如,composlte_curv
35、e的segments应该是composite_ct川e_segment,并且composite_ct川e_segment的parent_curve应该是bounded_curve。这个约束不用这个函数检验。只有关于geometrically_bounded_surface_shape_represer山tion范围的额外要求要检查。11 GB/T 16656.507-2010/180 10303-507 :2001 12 EXPRESS描述:祷)FUNCTION gbsf一check_curve(cv : representation_item) : BOOLEAN; (兴Thisfuncti
36、on varifies the validity of a curve in the context of a geometrically bounded surface model.Representation_items are valid input, however, they are supposed to be curves; otherwise this function will return false. 兴)(兴complexsubtypes of curve that are both bounded_curve and oneof conic, curve_replic
37、a, line, or offset_curve_3d are not valid 关)IF SIZEOF (AIC_GEOMETRICALLY_BOUNDED_SURF且CE.BOUNDED一CURVE,AIC_GEOMETRICALLY_BOUNDED_SURFACE. CONI C , AIC_GEOMETRICALLY_BOUNDED_SURFACE. CURVE_REPLICA , AIC_GEOMETRICALLY_BOUNDED_SURFACE. LINE , 且IC_GEOMETRICALLY_BOUNDED_SURFACE.OFFSET_CURVE_血J兴TYPEOF(cv)
38、 1 THEN RETURN(FALSE); END_IF; (关circle,ellipse, and trimmed_curve are valid curves; they are bounded per definition 美)IF SIZEOF (AIC_GEOMETRICALLY_BOUNDED_SURF且CE.CIRCLE , AIC_GEOMETRICALLY_BOUNDED_SURFACE. ELLIPSE , AIC_GEOMETRICALLY_BOUNDED_SURFACE. TRIMMED_CURVEJ 关TYPEOF(cv)= 1 THEN RETURN(TRUE)
39、; ELSE (兴b_spline_curvesshall not self-intersect 兴)IF (AIC_GEOMETRICALLY_BOUNDED_SURFACE. B_SPLINE_CURVE IN TYPEOF (cv) AND (cvb_spline_curve.self_intersect = FALSE) OR (cvb_spline_curve.self_intersect = UNKNOWN) THEN RETURN(TRUE) ; ELSE (关acomposite_curve shall not self-intersect and all of its seg
40、ments shall reference valid curves 关)IF (AIC_GEOMETRICALLY_BOUNDED_SURFACE. COMPOSITE_CURVE GB/T 16656.507-2010/ISO 10303-507 :2001 IN TYPEOF (cv) )且ND(cvcomposite_curve.self_intersect = FALSE) OR (cvcomposite_curve.self_intersect = UNKNOWN) THEN RETURN (SIZEOF (QUERY (seg = 3) THEN RETURN (TRUE); E
41、ND_IF; ELSE (提asurface_curve references a curve_3d and one or two pcurves or one or two surfaces or one of each; all of these references shall be valid 长)IF且ICGEOMETRICALLY BOUNDED SURFACE.SURFACE CURVE IN TYPEOF(cv) THEN (头ifthe curve reference is correct, check also the rest 美)IF gbsf_check_curve
42、(cvsurface_curve. curve_3d) THEN REPEAT i ,= 1 TO SIZEOF (cvsurface_curve.associated_geometry); (头dofor one or two associated_geometrys: 头)IF AIC GEOMETRICALLY BOUNDED SURFACE.SURFACE IN TYPEOF (cvsurface_curve.associated_geometryi) THEN IF NOT gbsf一check_surface(cvsurface_curve.associated_geometryi
43、) THEN RETURN(FALSE); END_IF; ELSE IF且ICGEOMETRICA LLY BOUNDED SURFACE.PCURVE IN TYPEOF (cvsurface_curve.associated_geometryi) THEN IF NOT gbsf_check_curve (cvsurface_curve.associated_geometryi) T皿NRETURN(FALSE) ; END_IF; END_IF; END_IF; END_REPEAT; RETURN(TRUE); END_IF; GB/T 16656.507-2010/ISO 1030
44、3-507 :2001 END_IF; END_IF; END工F;END_IF; END_IF; END_IF; END_IF; END_IF; (祷FALSEis returned if the input par四etercv is not a valid curve. 铃)RETURN(FALSE); END_FUNCTION; (祷参数定义:cv: (输入)representation_item,这个representation_item被认为是curve,curve在geometrically_ bounded_surfac巳_shape_rcpresenta tion相关环境下被
45、检查是否有效。BOOLEAN(返回):如果r巳prcsenta t lOn_1 tem是有效的curve,返回TRUE,否则返回FALSE。4.3.3 gbsf_check_surface gbsf_check_surface函数在gcometrically_ boundcd_ surface_ shape_representation的环境中检查surface实例的有效性。有效性的一个必要条件就是surface实例所产生的几何是有界的。这个必要条件的实行由这个函数通过使这个surface实例引用的所有几何(比如其他curvcs和surfaces)有效检查。如果适合,实例会被递归地检查下去。这
46、就意味着如果一个surface引用了另外一个surface,把它作为基本曲面或父曲面,gbsf_check_surfacc函数就又要被调用。如果curve被引用,gbsf_check_surfacc函数也要被调用。递归过程在实体类型不再引用任何的curve或surface的时候就终止了。对于有效性的应用,除了需要限制其他标准以外,surface不应该被定义成自交的。示例:被这个函数所验证的一个限制是:b_spline_surface类型的实例的自交属性设置成TRUE,FALSE或UNKNOWN,只有设置成FALSE或UNKNOWN时才是有效的。下面的曲面类型和它们的子类型在geometrica
47、lly_ bounded_surface_shape_representation范围之内,是这个函数的有效输入。一一-b_spline_surface; -curvc_bounded_surface; elementary _surface; 二一offset_surface;一-rectangular_com posi te_s urface; rectangular_ trimmed_surface; surfacc_replica; s urface_of_revol u tion 0 offset_surface的basis_surface和surface_replica的paren
48、t_surface都应该是上面所列surface类型中的一个。surace_of_rcvol ution引用了curvc,函数gbsf_check_curvc被调用来验证curve0 geometrically _ bounded_surfacc_sha pc_rcpresen ta tion,在验证GB/T16656. 42中规定的扫描曲线时,要求相同的限制。所有在geometrically_ bounded_surfac巳_shape_ rcpresentation的范围之内的curves都是有效的swept_curve。15 GB/T 16656.507-2010/ISO 10303-507:2001 对于B样条曲线和偏移几何,自交属性应该被设置成FALSE或者UNKNOWN。如果所有被引用几何的类型在gcometricall