Rotate Plane Parallel to World
Windows only
Demonstrates how to rotate a plane so its x-axis is parallel to the world using RhinoScript.
Option Explicit '------------------------------------------------------------------------------ ' Subroutine: XParallelPlane ' Purpose: Rotate a plane about it's z-axis so that it's x-axis is parallel with the world xy-plane. ' Parameters: ' plane - A valid plane to rotate ' dir - Direction (True = positive, False = negative) ' Returns: ' A valid plane if successful, Null otherwise. '------------------------------------------------------------------------------ Function XParallelPlane(plane, dir) Dim xaxis, yaxis, zaxis XParallelPlane = Null 'default return value zaxis = Rhino.VectorUnitize(plane(3)) If (dir = True) Then xaxis = Rhino.VectorUnitize(Array(zaxis(1), -zaxis(0), 0.0)) Else xaxis = Rhino.VectorUnitize(Array(-zaxis(0), zaxis(1), 0.0)) End If yaxis = Rhino.VectorCrossProduct(zaxis, xaxis) If IsArray(yaxis) Then yaxis = Rhino.VectorUnitize(yaxis) XParallelPlane = Rhino.PlaneFromFrame(plane(0), xaxis, yaxis) End If End Function