Navigation
Navigate Navigate Navigate Navigate

IfcBuildAxes

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 ref_direction 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. Please refer to ISO/IS 10303-42:1994, p.100 for the final definition of the formal standard. 

HISTORY  New function in IFC Release 1.5


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;