#### IfcBuildAxes

##### Semantic definitions at the function

Function 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 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

##### Formal representations

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))\IfcVector.Orientation, D1]);
END_FUNCTION;

Link to this page