IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.7.6.1 IfcCorrectLocalPlacement(校正局部定位)

8.7.6.1.1 语义定义(Semantic definition)

该函数检查三维局部定位的相对定位(即相对于另一个局部定位,而非网格定位)必须相对于三维父级定位(而非二维父级定位)。

历史:IFC2x 第2版中新增函数。

8.7.6.1.2 形式化表示(Formal representation)

FUNCTION IfcCorrectLocalPlacement
  (AxisPlacement:IfcAxis2Placement; 
   RelPlacement : IfcObjectPlacement):LOGICAL;

  IF (EXISTS(RelPlacement)) THEN
    IF ('IFC4X3_DEV_62887e3f.IFCGRIDPLACEMENT' IN TYPEOF(RelPlacement)) THEN
      RETURN(?);
    END_IF;
    IF ('IFC4X3_DEV_62887e3f.IFCLOCALPLACEMENT' IN TYPEOF(RelPlacement)) THEN
      IF ('IFC4X3_DEV_62887e3f.IFCAXIS2PLACEMENT2D' IN TYPEOF(AxisPlacement)) THEN
        RETURN(TRUE);
      END_IF;
      IF ('IFC4X3_DEV_62887e3f.IFCAXIS2PLACEMENT3D' IN TYPEOF(AxisPlacement)) THEN
        IF (RelPlacement\IfcLocalPlacement.RelativePlacement.Dim = 3) THEN
          RETURN(TRUE);
        ELSE
          RETURN(FALSE);
        END_IF;
      END_IF;
    END_IF;
  ELSE
    RETURN(TRUE);  
  END_IF;
  RETURN(?);

END_FUNCTION;

8.7.6.1.3 参考文献