Change hole size?

Hi All,

Do we have a command, script or any other way to quickly select a/many holes of a polysurface and change their diameter? I know we hake RoundHole, MAkeHole, MoveHole, etc, but not a way to change its diameter? why?

I’d love to find a quick way to change hole sizes on sheet parts like these:

Currently I UntrimHoles (All, KeepTrimObjects ), they select those trim objects, cap them, change their size individually with BoxEdit ( BoxeEdit is still a shitshow, but I digress…), then boolean again the untrimmed sheet. There’s got to be a better way. Any ideas? Thanks.

Hi Gustavo - there is no special tool but it’s not that much work either - see if this does it:


hi Pascal, yeah that works great… for one hole. But when I have several parts like the ones I showed in my screenshot with lots of holes and multiple polysurfaces (sheets of materials) in different orientations it’s not so easy.

1 Like

Hi Gustavo - I offered that in contrast to your described workflow - not that it is a great way to work…


Got it. You know what would be really cool? if we can use BoxEdit to subojects to resolve quickly multiple solid editing operations in one shot, after we select what we want to change. Like this…

Related to this request. I think taht I have have a suboject selected, I should be able to copy that selection to my clipboard and extract those elements as new objects that then I can paste back. Right now if you have a subobject selected and hot Ctrl-C nothing gets added to the clipboard.

Hi Gustavo - yeah-I guess that should work - you can Copy > InPlace and Ctrl-X for now.


Ok workaround for now. Thanks!

I suppose you can make it work with a script that select all holes, then scale2d by a factor relative to the center of each hole?

If boxedit would operate on disjointed subselected geometries as if they were individual objects… It could be done with all holes at once.

Currently boxedit is taking the base geometries values.


Hi Rajaa, I think this is beyond Pascal’s scripting abilities, but it’s a good stretch goal for him to try and see if he can deliver. Come on Pascal, I know you can do it!

Yo no hablo escripto.


correct, that would be really useful. Along with a few other entities being able to use Box Edit.

My most wished ones are:

  • SubObjects
  • Cages
  • Control Points
1 Like

I have no doubt in Pascal’s ability to pull this one off. We can always add ScaleHoles command, but this might be a stretch?

The customer is always right.



Add a SelectHoles while at it. Being able to subselect all holes and transform them at your liking could be nice versatile feature.



@gustojunk - here’s a start for round holes, one at a time - see how that works. (2.1 KB)

To use the Python script use RunPythonScript or a macro:
_-RunPythonScript "Full path to py file inside double-quotes"

Select a hole - the surface - and set the desired radius.

All hacks, I mean scripts, guaranteed somewhat tested. With this hack multiples at one time will not be possible… but there are other hacks.
@gustojunk - it works on holes with split cylinders as sometimes come in via STEP from solid modelers.


1 Like

oooh… I’m so spoiled. Thanks so much Pascal!

I have something that I’ve been using that might help. Here’s what it can do:

Here is the script. It seems to work in most cases. If the hole cylinder is split, the command will call up the MergeEdge command to fix it. (15.8 KB)

My sad attempt at scripting aside, I think what this script (usually) accomplishes is a good example of what a lot of users would like to see available in Rhino.



Yes, absolutely!


@pascal is the gateway to adding new commands to solid editing. Please feel free to craft new commands or options when appropriate and add to YouTrack (for V7).

What works best to pass that gateway? Cookies? Muffins? Beer? Asking for a friend.