RhinoCommon API
Plane Constructor (Point3d, Point3d, Point3d) |
Initializes a plane from three non-collinear points.
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll)
Since: 5.0

public Plane( Point3d origin, Point3d xPoint, Point3d yPoint )
Public Sub New ( origin As Point3d, xPoint As Point3d, yPoint As Point3d )
Parameters
- origin
- Type: Rhino.GeometryPoint3d
Origin point of the plane. - xPoint
- Type: Rhino.GeometryPoint3d
Second point in the plane. The x-axis will be parallel to x_point-origin. - yPoint
- Type: Rhino.GeometryPoint3d
Third point on the plane that is not collinear with the first two points. taxis*(y_point-origin) will be > 0.

using System; partial class Examples { public static Rhino.Commands.Result AddClippingPlane(Rhino.RhinoDoc doc) { // Define the corners of the clipping plane Rhino.Geometry.Point3d[] corners; Rhino.Commands.Result rc = Rhino.Input.RhinoGet.GetRectangle(out corners); if (rc != Rhino.Commands.Result.Success) return rc; // Get the active view Rhino.Display.RhinoView view = doc.Views.ActiveView; if (view == null) return Rhino.Commands.Result.Failure; Rhino.Geometry.Point3d p0 = corners[0]; Rhino.Geometry.Point3d p1 = corners[1]; Rhino.Geometry.Point3d p3 = corners[3]; // Create a plane from the corner points Rhino.Geometry.Plane plane = new Rhino.Geometry.Plane(p0, p1, p3); // Add a clipping plane object to the document Guid id = doc.Objects.AddClippingPlane(plane, p0.DistanceTo(p1), p0.DistanceTo(p3), view.ActiveViewportID); if (id != Guid.Empty) { doc.Views.Redraw(); return Rhino.Commands.Result.Success; } return Rhino.Commands.Result.Failure; } }
Partial Class Examples Public Shared Function AddClippingPlane(ByVal doc As Rhino.RhinoDoc) As Rhino.Commands.Result ' Define the corners of the clipping plane Dim corners As Rhino.Geometry.Point3d() = Nothing Dim rc As Rhino.Commands.Result = Rhino.Input.RhinoGet.GetRectangle(corners) If rc <> Rhino.Commands.Result.Success Then Return rc End If ' Get the active view Dim view As Rhino.Display.RhinoView = doc.Views.ActiveView If view Is Nothing Then Return Rhino.Commands.Result.Failure End If Dim p0 As Rhino.Geometry.Point3d = corners(0) Dim p1 As Rhino.Geometry.Point3d = corners(1) Dim p3 As Rhino.Geometry.Point3d = corners(3) ' Create a plane from the corner points Dim plane As New Rhino.Geometry.Plane(p0, p1, p3) ' Add a clipping plane object to the document Dim id As Guid = doc.Objects.AddClippingPlane(plane, p0.DistanceTo(p1), p0.DistanceTo(p3), view.ActiveViewportID) If id <> Guid.Empty Then doc.Views.Redraw() Return Rhino.Commands.Result.Success End If Return Rhino.Commands.Result.Failure End Function End Class
Python
import Rhino import scriptcontext import System.Guid def AddClippingPlane(): # Define the corners of the clipping plane rc, corners = Rhino.Input.RhinoGet.GetRectangle() if rc!=Rhino.Commands.Result.Success: return rc # Get the active view view = scriptcontext.doc.Views.ActiveView if view is None: return Rhino.Commands.Result.Failure p0, p1, p2, p3 = corners # Create a plane from the corner points plane = Rhino.Geometry.Plane(p0, p1, p3) # Add a clipping plane object to the document id = scriptcontext.doc.Objects.AddClippingPlane(plane, p0.DistanceTo(p1), p0.DistanceTo(p3), view.ActiveViewportID) if id!=System.Guid.Empty: scriptcontext.doc.Views.Redraw() return Rhino.Commands.Result.Success return Rhino.Commands.Result.Failure if __name__=="__main__": AddClippingPlane()
