IfcCorrectLocalPlacement

Natural language names
Correct Local Placement
Semantic definitions at the function
Function Definition

The function checks that a relative placement (i.e. relative to another local placement or linear placement, and not grid placement) of a 3D local placement has to be relative to a 3D parent placement (and not to a 2D parent placement).

HISTORY: New function in Release IFC2x Edition 2.

Formal representations
EXPRESS Specification

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

  IF (EXISTS(RelPlacement)) THEN
    IF ('IFCGEOMETRICCONSTRAINTRESOURCE.IfcGridPlacement' IN TYPEOF(RelPlacement)) THEN
      RETURN(?);
    END_IF;
    IF ('IFCGEOMETRICCONSTRAINTRESOURCE.IfcLocalPlacement' IN TYPEOF(RelPlacement)) THEN
      IF ('IFCGEOMETRYRESOURCE.IfcAxis2Placement2D' IN TYPEOF(AxisPlacement)) THEN
        RETURN(TRUE);
      END_IF;
      IF ('IFCGEOMETRYRESOURCE.IfcAxis2Placement3D' IN TYPEOF(AxisPlacement)) THEN
        IF (RelPlacement\IfcLocalPlacement.RelativePlacement.Dim = 3) THEN
          RETURN(TRUE);
        ELSE
          RETURN(FALSE);
        END_IF;
      END_IF;
    END_IF;
    IF ('IFCGEOMETRYRESOURCE.IfcLinearPlacement' IN TYPEOF(RelPlacement)) THEN
      RETURN(TRUE);
    END_IF;
  ELSE
    RETURN(TRUE);
  END_IF;
  RETURN(?);

END_FUNCTION;

References  References: IfcLocalPlacement

Link to this page  Link to this page