I came across an old tweet of mine today that lead to an article about centering the play button icon:
It got me thinking that while I use the bounding box dozens of times a day, it seems like a circular bounding box would be exceptionally helpful as well. Especially in two use cases:
- For determining the rotational maximums of movements about a center point.
- For understanding where non-area specific centroidal points live within a circular space.
Would be curious to hear if this is of interest. Maybe I can write a script that does this as a prototype.
Ok, I finally got around to making a script. It works best with rectilinear objects, but can do arbitrary geometry as well. Consider this v1.0 – works in Rhino Version 7 SR36
RhinoBoundingCircle_v1.rvb (1.7 KB)
Load this script. It will prompt you to select your geometry.
Next it will create a bounding rectangle on the c-plane.
User has the option to circumscribe or inscribe the circle.
I can’t get it (yet) to use the area centroid vs the gumball location to reference the center. However, if you had, say, a pyramid, it would create the circumscribed version of that pyramid from the gumball center so you can rotate the object 360º without hitting anything. My next task is to then have a prompt for an offset so clearances can be indicated in the command line.
Also, a spherical version of this would be useful as well.
your script is creating a world-aligned boundingbox - and finally a circle at Z=0 that is inscribed or circumscribed on the rectangle of the boundingbox.
This method will in many cases not find the smallest circle that circumscribes a given geometry
(but this is, what I would expect by the title of the topic)
… just for others not to expect it from the script
kind regards -tom