IFC 4.3.2.20250327 (IFC4X3_ADD2) under development

8.9.6.23 IfcSecondProjAxis

8.9.6.23.1 Semantic definition

8.9.6.23.2 Formal representation

FUNCTION IfcSecondProjAxis
(ZAxis, XAxis, Arg: IfcDirection)
: IfcDirection;
LOCAL
YAxis : IfcVector;
V : IfcDirection;
Temp : IfcVector;
END_LOCAL;
IF NOT EXISTS(Arg) THEN
V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,1.0,0.0]);
ELSE
V := Arg;
END_IF;
Temp := IfcScalarTimesVector(IfcDotProduct(V, ZAxis), ZAxis);
YAxis := IfcVectorDifference(V, Temp);
Temp := IfcScalarTimesVector(IfcDotProduct(V, XAxis), XAxis);
YAxis := IfcVectorDifference(YAxis, Temp);
YAxis := IfcNormalise(YAxis);
RETURN(YAxis.Orientation);
END_FUNCTION;

8.9.6.23.3 References

Edit on Github


Is this page difficult to understand? Let us know!