M_Rhino_Geometry_GeometryBase_GetBoundingBox_3 - mcneel/rhinocommon-api-docs GitHub Wiki
Boundingbox solver. Gets the world axis aligned boundingbox for the geometry.
Namespace: Rhino.Geometry
Assembly: RhinoCommon (in RhinoCommon.dll) Version: Rhino 6.0
C#
public BoundingBox GetBoundingBox(
bool accurate
)
VB
Public Function GetBoundingBox (
accurate As Boolean
) As BoundingBox
- accurate
- Type: System.Boolean
If true, a physically accurate boundingbox will be computed. If not, a boundingbox estimate will be computed. For some geometry types there is no difference between the estimate and the accurate boundingbox. Estimated boundingboxes can be computed much (much) faster than accurate (or "tight") bounding boxes. Estimated bounding boxes are always similar to or larger than accurate bounding boxes.
Type: BoundingBox
The boundingbox of the geometry in world coordinates or BoundingBox.Empty if not bounding box could be found.
VB
Partial Class Examples
Public Shared Function CurveBoundingBox(doc As Rhino.RhinoDoc) As Rhino.Commands.Result
' Select a curve object
Dim rhObject As Rhino.DocObjects.ObjRef = Nothing
Dim rc = Rhino.Input.RhinoGet.GetOneObject("Select curve", False, Rhino.DocObjects.ObjectType.Curve, rhObject)
If rc <> Rhino.Commands.Result.Success Then
Return rc
End If
' Validate selection
Dim curve = rhObject.Curve()
If curve Is Nothing Then
Return Rhino.Commands.Result.Failure
End If
' Get the active view's construction plane
Dim view = doc.Views.ActiveView
If view Is Nothing Then
Return Rhino.Commands.Result.Failure
End If
Dim plane = view.ActiveViewport.ConstructionPlane()
' Compute the tight bounding box of the curve in world coordinates
Dim bbox = curve.GetBoundingBox(True)
If Not bbox.IsValid Then
Return Rhino.Commands.Result.Failure
End If
' Print the min and max box coordinates in world coordinates
Rhino.RhinoApp.WriteLine("World min: {0}", bbox.Min)
Rhino.RhinoApp.WriteLine("World max: {0}", bbox.Max)
' Compute the tight bounding box of the curve based on the
' active view's construction plane
bbox = curve.GetBoundingBox(plane)
' Print the min and max box coordinates in cplane coordinates
Rhino.RhinoApp.WriteLine("CPlane min: {0}", bbox.Min)
Rhino.RhinoApp.WriteLine("CPlane max: {0}", bbox.Max)
Return Rhino.Commands.Result.Success
End Function
End Class
C#
partial class Examples
{
public static Rhino.Commands.Result CurveBoundingBox(Rhino.RhinoDoc doc)
{
// Select a curve object
Rhino.DocObjects.ObjRef rhObject;
var rc = Rhino.Input.RhinoGet.GetOneObject("Select curve", false, Rhino.DocObjects.ObjectType.Curve, out rhObject);
if (rc != Rhino.Commands.Result.Success)
return rc;
// Validate selection
var curve = rhObject.Curve();
if (curve == null)
return Rhino.Commands.Result.Failure;
// Get the active view's construction plane
var view = doc.Views.ActiveView;
if (view == null)
return Rhino.Commands.Result.Failure;
var plane = view.ActiveViewport.ConstructionPlane();
// Compute the tight bounding box of the curve in world coordinates
var bbox = curve.GetBoundingBox(true);
if (!bbox.IsValid)
return Rhino.Commands.Result.Failure;
// Print the min and max box coordinates in world coordinates
Rhino.RhinoApp.WriteLine("World min: {0}", bbox.Min);
Rhino.RhinoApp.WriteLine("World max: {0}", bbox.Max);
// Compute the tight bounding box of the curve based on the
// active view's construction plane
bbox = curve.GetBoundingBox(plane);
// Print the min and max box coordinates in cplane coordinates
Rhino.RhinoApp.WriteLine("CPlane min: {0}", bbox.Min);
Rhino.RhinoApp.WriteLine("CPlane max: {0}", bbox.Max);
return Rhino.Commands.Result.Success;
}
}
Python
import Rhino
import scriptcontext
def CurveBoundingBox():
# Select a curve object
rc, rhobject = Rhino.Input.RhinoGet.GetOneObject("Select curve", False, Rhino.DocObjects.ObjectType.Curve)
if rc!=Rhino.Commands.Result.Success: return
# Validate selection
curve = rhobject.Curve()
if not curve: return
## Get the active view's construction plane
view = scriptcontext.doc.Views.ActiveView
if not view: return
plane = view.ActiveViewport.ConstructionPlane()
# Compute the tight bounding box of the curve in world coordinates
bbox = curve.GetBoundingBox(True)
if not bbox.IsValid: return
# Print the min and max box coordinates in world coordinates
print "World min:", bbox.Min
print "World max:", bbox.Max
# Compute the tight bounding box of the curve based on the
# active view's construction plane
bbox = curve.GetBoundingBox(plane)
# Print the min and max box coordinates in cplane coordinates
print "CPlane min:", bbox.Min
print "CPlane max:", bbox.Max
if __name__=="__main__":
CurveBoundingBox()
Supported in: 6.0.16224.21491, 5D58w
GeometryBase Class
GetBoundingBox Overload
Rhino.Geometry Namespace