Navigation

IfcBuildAxes

Function Semantic Definition
Definition from ISO/CD 10303-42:1992: This function builds and returns three normalized orthogonal directions. U[3] is the direction of axis. U[1] is in the direction of the projection of RefDirection onto the plane normal to U[3] and U[2] is the cross product of U[3] and U[1]. Default values are supplied if input data is incomplete.

NOTE Corresponding STEP function build_axes, new function in IFC Release 1.5. Please refer to ISO/IS 10303-42:1994, p. 100 for the final definition of the formal standard.

EXPRESS specification:

FUNCTION IfcBuildAxes
  (Axis, RefDirection : IfcDirection) 
    : LIST [3:3] OF IfcDirection;
LOCAL
  D1, D2 : IfcDirection;
END_LOCAL;
  D1 := NVL(IfcNormalise(Axis), IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,0.0,1.0]));
  D2 := IfcFirstProjAxis(D1, RefDirection);
  RETURN ([D2, IfcNormalise(IfcCrossProduct(D1,D2)).Orientation, D1]);
END_FUNCTION;