M_Rhino_Geometry_Plane__ctor_1 - mcneel/rhinocommon-api-docs GitHub Wiki
Initializes a plane from three non-colinear points.
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll) Version: Rhino 6.0
C#
public Plane(
Point3d origin,
Point3d xPoint,
Point3d yPoint
)
VB
Public Sub New (
origin As Point3d,
xPoint As Point3d,
yPoint As Point3d
)
- origin
- Type: Rhino.Geometry.Point3d
Origin point of the plane. - xPoint
- Type: Rhino.Geometry.Point3d
Second point in the plane. The x-axis will be parallel to x_point-origin. - yPoint
- Type: Rhino.Geometry.Point3d
Third point on the plane that is not colinear with the first two points. yaxis*(y_point-origin) will be > 0.
VB
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
C#
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;
}
}
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()
Supported in: 6.0.16224.21491, 5D58w