usingRhino;usingRhino.Geometry;usingRhino.Commands;usingRhino.Input;usingRhino.DocObjects;namespace examples_cs
{publicclassBrepFromCurveBBoxCommand:Command{publicoverridestringEnglishName{get{return"csBrepFromCurveBBox";}}protectedoverrideResultRunCommand(RhinoDoc doc,RunMode mode){Rhino.DocObjects.ObjRef objref;var rc =RhinoGet.GetOneObject("Select Curve",false,ObjectType.Curve,out objref);if( rc !=Result.Success)return rc;var curve = objref.Curve();var view = doc.Views.ActiveView;var plane = view.ActiveViewport.ConstructionPlane();// Create a construction plane aligned bounding boxvar bbox = curve.GetBoundingBox(plane);if(bbox.IsDegenerate(doc.ModelAbsoluteTolerance)>0){RhinoApp.WriteLine("the curve's bounding box is degenerate (flat) in at least one direction so a box cannot be created.");returnResult.Failure;}var brep =Brep.CreateFromBox(bbox);
doc.Objects.AddBrep(brep);
doc.Views.Redraw();returnResult.Success;}}}
importRhinofromRhino.Geometryimport*fromRhino.CommandsimportResultfromRhino.InputimportRhinoGetfromRhino.DocObjectsimportObjectTypeimport rhinoscriptsyntax as rs
from scriptcontext import doc
defRunCommand():
rc, objRef =RhinoGet.GetOneObject("Select curve",False,ObjectType.Curve)if rc <>Result.Success:return rc
curve = objRef.Curve()ifNone== curve:returnResult.Failure
view = doc.Views.ActiveView
plane = view.ActiveViewport.ConstructionPlane()# Create a construction plane aligned bounding box
bbox = curve.GetBoundingBox(plane)if bbox.IsDegenerate(doc.ModelAbsoluteTolerance)>0:
print "the curve's bounding box is degenerate (flat) in at least one direction so a box cannot be created."returnResult.Failure
brep =Brep.CreateFromBox(bbox)
doc.Objects.AddBrep(brep)
doc.Views.Redraw()returnResult.Successif __name__ =="__main__":
print RunCommand()
ImportsRhinoImportsRhino.GeometryImportsRhino.CommandsImportsRhino.InputNamespace examples_vb
PublicClassBrepFromCurveBBoxCommandInheritsCommandPublicOverridesReadOnlyPropertyEnglishName()AsStringGetReturn"vbBrepFromCurveBBox"EndGetEndPropertyProtectedOverridesFunctionRunCommand(doc AsRhinoDoc, mode AsRunMode)AsResultDim objref AsDocObjects.ObjRef=NothingDim rc =RhinoGet.GetOneObject("Select Curve",False,DocObjects.ObjectType.Curve, objref)If rc <>Result.SuccessThenReturn rc
EndIfDim curve = objref.Curve()Dim view = doc.Views.ActiveViewDim plane = view.ActiveViewport.ConstructionPlane()' Create a construction plane aligned bounding boxDim bbox = curve.GetBoundingBox(plane)If bbox.IsDegenerate(doc.ModelAbsoluteTolerance)>0ThenRhinoApp.WriteLine("the curve's bounding box is degenerate (flat) in at least one direction so a box cannot be created.")ReturnResult.FailureEndIfDim brepbox =Brep.CreateFromBox(bbox)
doc.Objects.AddBrep(brepbox)
doc.Views.Redraw()ReturnResult.SuccessEndFunctionEndClassEndNamespace