GeometryBase.GetBoundingBox Method (Boolean)

GeometryBaseGetBoundingBox Method (Boolean)

Boundingbox solver. Gets the world axis aligned boundingbox for the geometry.

Namespace:  Rhino.Geometry
Assembly:  RhinoCommon (in RhinoCommon.dll)
Syntax
public BoundingBox GetBoundingBox(
	bool accurate
)
Public Function GetBoundingBox ( 
	accurate As Boolean
) As BoundingBox

Parameters

accurate
Type: SystemBoolean
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.

Return Value

Type: BoundingBox
The boundingbox of the geometry in world coordinates or BoundingBox.Empty if not bounding box could be found.
Examples
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;
  }
}
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
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()
Version Information

Rhino for Mac

Supported in: 5.4

Rhino for Windows

Supported in: 6.14
See Also