Best Practice Modify Hole Diameter

Hi guys,

I’m getting some really great feedback and learning a lot with these posts so I have another one.

I have a part that is a combination of some parts now unioned.
What is the best practice to make the larger diameter the same as the smaller diameter.

Best Practice Modify Hole.3dm (485.3 KB)

For holes you can use Rhino’s hole tools in the Solid Tools menu. This way it is easy to make, move, and remove holes. If you used hole tools for this you can just do _UntrimHoles and then _RoundHole to quickly make the new sized hole.

use sub select (for windows i believe ctrl shift and mouse click) on the perimeter surface of the hole, have center activated in snaps and use scale 2d.

Hm - not automatic here at all - in this case it is somewhat of a pain in the neck - I’d ExtractSrf the cylindrical faces of the holes and the back (complex shape) of the inside. Delete the small hole cylinder and the bottom face of the large hole. ExtendSrf the larger cylinder through the back face, trim these to each other and Join`.


This kind of stuff tends to really screw up the UV’s and render meshing often in my experience. (Just like using solid edit points). Maybe not in this simple planar geometry though, if it results in good geometry it is a nice way.

yes but for planar changes its often ok. scaling the boundary 3d would funk up the surfaces rebuilding them to patches, but 2d keeps them nice and steady. generally for adjusting holes its the best i found.

1 Like

ok reading once more what you actually wanted, i think i have to rectify my premature suggestion a little. in this case you have to delete this surface first, simply subselect and delete. then it works.

by the way i wished scale 2d with gumball would finally work. i see there is an open tracker for it but its a bit confusing, since there was a long discussion in it and now its closed? @pascal do you have any insight to what happened with this?

scale2d with the gumball is working, shft + click on the plane square of the gumball


not sure what i am doing wrong… but that scales 3d for me. are you talking about a planar curve or surface? if so yes that scales it kind of 2d but anything 3d gets scaled 3d.

edit: haha :smiley: i clicked the wrong chickens. thanks @DiegoKrause now i figured it.

I didn’t know this, but I find it also totally wrong. A move tool should not be a scale tool. Furthermore, unless I am missing something, you cannot scale to an exact size this way.

only by factor scale. for specific dimension. Scale2d is the tool ( 2 point reference I mean)

If Rhino is not change-safe as far as its rendering meshes and modifications are concerned, it should be made to be.

In this case (again) you can use extrudesrf with deleteinput=yes and solid=yes.

Oh yeah good call.

Yeah that would be clean. I’m partial to dupedge extrude and boolean difference but its the same idea I think.

The sub select scale 2d is how I usually change holes (shy of just deleting and re drawing, extrude, boolean diff) but in this case its hard to get the osnap in the front view but in perspective I don’t get the 2 degrees that I want to scale. If I rotate the shape so the hole is in the xy plane it works but what a pain.

Any tips?

Thanks so much for taking the time to answer guys!

cplane to surface maybe.

Modifying holes shouldn’t be this difficult. It’s something we have to do all the time, and I had to write a script to help. Modifying holes would be a nice to have as a native Rhino command in the future.

Just my opinion,


What does your script do?

If they are simple holes with cylinders and perpendicular planar faces, it’s not all that bad with subobject editing. But something just slightly more complex than that - such as the stepped hole in the example - become problematic quickly - for one main reason. To “remove” the stepped part by bringing the larger hole diameter down to the smaller hole diameter requires that the planar surface between the two be completely removed. This is what Rhino does not know how to do.

This affects variety of subobject editing operations, not just round holes. Anytime one tries to reduce a surface inside a polysurface to 0 in one direction via subobject editing it will fail - even something simple as moving one edge of a box to a parallel edge to create a wedge shape, as a remnant of the surface that should just disappear gets “stuck” in the polysurface and makes the whole object invalid.

Until cases like this can be solved, subobject editing of things like holes and such will be pretty limited. In the end it’s easier to eliminate the hole completely and re-make it from scratch.