/// <summary> /// Create FdCoordinateSystem from Dynamo coordinate system of a Surface. /// No realignment neccessary. /// </summary> internal static FdCoordinateSystem FromDynamoCoordinateSystemSurface(Autodesk.DesignScript.Geometry.CoordinateSystem obj) { FdPoint3d origin = FdPoint3d.FromDynamo(obj.Origin); FdVector3d localX = FdVector3d.FromDynamo(obj.XAxis); FdVector3d localY = FdVector3d.FromDynamo(obj.YAxis); FdVector3d localZ = FdVector3d.FromDynamo(obj.ZAxis); return(new FdCoordinateSystem(origin, localX, localY, localZ)); }
/// <summary> /// /// Create FdCoordinateSystem from Dynamo coordinate system of a Arc or Circle. /// Dynamo Arcs and Circles follow left-hand rule. /// This method realignes the coordinate system. /// </summary> internal static FdCoordinateSystem FromDynamoCoordinateSystemArcOrCircle(Autodesk.DesignScript.Geometry.CoordinateSystem obj) { FdPoint3d origin = FdPoint3d.FromDynamo(obj.Origin); FdVector3d localX = FdVector3d.FromDynamo(obj.YAxis); FdVector3d localY = FdVector3d.FromDynamo(obj.XAxis); FdVector3d localZ = localX.Cross(localY).Normalize(); return(new FdCoordinateSystem(origin, localX, localY, localZ)); }