8.18.3.5 IfcGeometricRepresentationSubContext(几何表示子上下文)
8.18.3.5.1 语义定义(Semantic definition)
IfcGeometricRepresentationSubContext 定义了一个应用于产品多个形状表示的上下文环境,作为子上下文,它与父级 IfcGeometricRepresentationContext 共享 WorldCoordinateSystem、CoordinateSpaceDimension、Precision 和 TrueNorth 属性。
IfcGeometricRepresentationSubContext 用于根据表示视图和目标比例,为不同的信息内容定义语义上可区分的表示类型。它可用于控制最适用于此几何表示上下文的形状表示的细节级别。此外,子上下文还用于控制 IfcShapeRepresentation 在绘图视图中的最终显示效果。
每个 IfcProduct 可以有多个 IfcRepresentation 子类型的实例,每个实例都分配给一个不同的 IfcGeometricRepresentationSubContext)。继承的 ContextIdentifier 属性的适用值应与 IfcShapeRepresentation 处定义的 RepresentationIdentifier 属性相同。
8.18.3.5.2 实体继承(Entity inheritance)
8.18.3.5.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcRepresentationContext (3) | |||
| 1 | ContextIdentifier | OPTIONAL IfcLabel |
表示上下文的可选标识符,在项目内部使用。 |
| 2 | ContextType | OPTIONAL IfcLabel |
表示上下文类型的描述。上下文类型支持的具体取值需通过实施方协议确定。 |
| RepresentationsInContext | SET [0:?] OF IfcRepresentation FOR ContextOfItems |
在同一表示上下文中定义的所有几何表示。 |
|
| IfcGeometricRepresentationContext (6) | |||
| 3 | CoordinateSpaceDimension | IfcDimensionCount |
在几何表示上下文中建模的坐标空间的整数维度计数。 |
| 4 | Precision | OPTIONAL IfcReal |
几何模型的模型精度值。它是一个双精度值(REAL),通常在 1E-5 到 1E-8 范围内,表示在此容差下两个给定点仍被视为相同。该值可用于例如在 brep 模型中设置从边曲线到底层面曲面的最大距离。 |
| 5 | WorldCoordinateSystem | IfcAxis2Placement |
为项目使用的所有表示上下文建立工程坐标系(在CAD中通常称为世界坐标系)。 如果使用 IfcMapConversion 提供了地理放置,则 WorldCoordinateSystem 属性用于定义局部工程坐标系的零点与 IfcMapConversion 偏移所关联的地理参考点之间的偏移。在首选实践中,这两个点(也称为"项目基点"和"测量点")应重合。但是,可以将地理参考点从局部零点偏移。 |
| 6 | TrueNorth | OPTIONAL IfcDirection |
真北方向或地理北向方向相对于基础项目坐标系的方向。它由项目坐标系xy平面内的二维方向给出。如果未提供,则默认为 0. 1.,意味着项目坐标系的正Y轴等于地理北向方向。 |
| HasSubContexts | SET [0:?] OF IfcGeometricRepresentationSubContext FOR ParentContext |
引用此 IfcGeometricRepresentationContext 的 IfcGeometricRepresentationSubContexts 集合。 |
|
| HasCoordinateOperation | SET [0:1] OF IfcCoordinateOperation FOR SourceCRS |
指示坐标系之间的转换。特别是指地理地图坐标参考系与此建筑项目的工程坐标系之间的 IfcCoordinateOperation。如果向 IfcProject 提供了多个 IfcGeometricRepresentationContext,则所有上下文应具有相同的 IfcCoordinateOperation 实例作为 HasCoordinateOperation,引用相同的 IfcCoordinateReferenceSystem 实例。 |
|
| 点击显示 9 个隐藏的继承特性 点击隐藏 9 个继承特性 | |||
| IfcGeometricRepresentationSubContext (8) | |||
| 7 | ParentContext | IfcGeometricRepresentationContext |
父级上下文,子上下文从中派生其世界坐标系、精度、空间坐标维度和真北方向。 |
| 8 | TargetScale | OPTIONAL IfcPositiveRatioMeasure |
此表示上下文所适用的表示的目标绘图比例。 |
| 9 | TargetView | IfcGeometricProjectionEnum |
此表示上下文所适用的表示的目标视图。 |
| 10 | UserDefinedTargetView | OPTIONAL IfcLabel |
用户定义的目标视图,如果 TargetView 属性设置为 USERDEFINED,则必须给出此属性值。 |
| 5* | WorldCoordinateSystem | IfcAxis2Placement |
此属性是形式化派生的
世界坐标系 |
| 3* | CoordinateSpaceDimension | IfcDimensionCount |
此属性是形式化派生的
坐标空间维度 |
| 6* | TrueNorth | IfcDirection |
此属性是形式化派生的
真北方向 |
| 4* | Precision | IfcReal |
此属性是形式化派生的
精度 |
8.18.3.5.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| NoCoordOperation |
不得向几何表示子上下文提供 IfcCoordinateOperation,只能向父级几何表示上下文提供。 |
|
|
| ParentNoSub |
父级上下文不得是另一个几何表示子上下文。 |
|
|
| UserTargetProvided |
如果 TargetView 属性设置为 USERDEFINED,则必须给出 UserDefinedTargetView 属性。 |
|
|
8.18.3.5.5 形式化表示(Formal representation)
ENTITY IfcGeometricRepresentationSubContext
SUBTYPE OF (IfcGeometricRepresentationContext);
ParentContext : IfcGeometricRepresentationContext;
TargetScale : OPTIONAL IfcPositiveRatioMeasure;
TargetView : IfcGeometricProjectionEnum;
UserDefinedTargetView : OPTIONAL IfcLabel;
DERIVE
SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem : IfcAxis2Placement := ParentContext.WorldCoordinateSystem;
SELF\IfcGeometricRepresentationContext.CoordinateSpaceDimension : IfcDimensionCount := ParentContext.CoordinateSpaceDimension;
SELF\IfcGeometricRepresentationContext.TrueNorth : IfcDirection := NVL(ParentContext.TrueNorth, IfcConvertDirectionInto2D(SELF\IfcGeometricRepresentationContext.WorldCoordinateSystem.P[2]));
SELF\IfcGeometricRepresentationContext.Precision : IfcReal := NVL(ParentContext.Precision,1.E-5);
WHERE
NoCoordOperation : SIZEOF(SELF\IfcGeometricRepresentationContext.HasCoordinateOperation) = 0;
ParentNoSub : NOT('IFC4X3_DEV_62887e3f.IFCGEOMETRICREPRESENTATIONSUBCONTEXT' IN TYPEOF(ParentContext));
UserTargetProvided : (TargetView <> IfcGeometricProjectionEnum.USERDEFINED) OR
((TargetView = IfcGeometricProjectionEnum.USERDEFINED) AND EXISTS(UserDefinedTargetView)) ;
END_ENTITY;