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;