IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.18.7.1 IfcRepresentationContextSameWCS(表示上下文相同世界坐标系)

8.18.7.1.1 语义定义(Semantic definition)

如果在同一项目文件中有多个 IfcGeometricRepresentationContext 实例,则所有 WorldCoordinateSystem 的 XY 平面应共面且相同。

NOTE  实例

HISTORY  New global rule

8.18.7.1.2 形式化表示(Formal representation)

RULE IfcRepresentationContextSameWCS FOR
 (IfcGeometricRepresentationContext);
LOCAL
  IsDifferent  : LOGICAL := FALSE;
END_LOCAL;
  IF (SIZEOF(IfcGeometricRepresentationContext) > 1)
  THEN
    REPEAT i := 2 TO HIINDEX(IfcGeometricRepresentationContext);
      IF (IfcGeometricRepresentationContext[1].WorldCoordinateSystem :<>: IfcGeometricRepresentationContext[i].WorldCoordinateSystem)
      THEN
        IsDifferent := (NOT(IfcSameValidPrecision(IfcGeometricRepresentationContext[1].Precision,
                                                  IfcGeometricRepresentationContext[i].Precision)))
                    OR (NOT(IfcSameAxis2Placement(IfcGeometricRepresentationContext[1].WorldCoordinateSystem,
                                                  IfcGeometricRepresentationContext[i].WorldCoordinateSystem,
                                                  IfcGeometricRepresentationContext[1].Precision)));
        IF (IsDifferent = TRUE) THEN
          ESCAPE;
        END_IF;
      END_IF;
    END_REPEAT;
  END_IF;

    WHERE
      WR1 : IsDifferent = FALSE;
END_RULE;