Rotate chamfered hole in Cylinder what command?

I have a hole right through a cylinder, with a chamfered edge to hole, and need to rotate it a few degrees.
How is this done ?
see attached.
the other hole is ok. blue line new Cline of hole. split pin is where hole should be.
Move hole at one end of axle.3dm (809.6 KB)



Sounds to me you are overthinking this? Just rotate the entire axle?


the other hole is ok

but then the other hole will no longer be where it needs to be.


Not being a particularly sophisticated user, I would have made two copies of the parts used to boolean the hole and chamfer, placed and oriented each as required and used “boolean two objects” once for each hole and the axle. I probably would have maintained a “master” copy of the hole part in case I needed to go back and do the booleans over since they do, of course, destroy the input.

Perhaps quickest would be to _ExtractIsoCurve in the middle of the axle. Then _Split the axle with the curve. Delete the one with the incorrectly oriented hole and _Mirror the other half. Then rotate the mirror part such that it aligns correctly. Select both halves and finally _Join them together.

Although maybe best to rebuild the axle and holes from scratch? Doesn’t look too complicated in this case.

I take it there is no way of moving holes on cylinders as such, SpaceClaim can move Rhino holes but I can’t afford it.
I did wonder if it was ok to split the cylinder, rotate and join, would the lines that make the Cylinder no longer being one continual line cause an issue.
Thought I would see if there was a moveHole command before doing so,.

I do normally keep hold of all cutters etc, and sometimes dupe the layer as prior holes to fall back on if need be.
It pays to with hole moving having limited ability.


If you only need to rotate the hole, you can also do this:

  1. Extract (No copy) the walls of the hole and chamfer.
  2. Move them aside a set distance you can reverse later, or hide them.
  3. Use _UntrimHoles to remove the two openings left in the axle.
  4. Rotate the axle the right number of degrees.
  5. Bring back the hole and chamfer walls.
  6. Create two new holes in the axle surface by using the walls to trim it.
  7. Join the axle and the walls to recreate the solid object.


p.s. Tested in Rhino 7, too late to fire up 5.

Your approach was the first I tried as well, but I found that _UntrimHoles doesn’t work for the hole that goes through the seam. At least I couldn’t get that to work in my v7. It works if the through-hole wasn’t made through that seam I believe. So probably a reason to remake the axle anyway, since it will give a bit better surface - the chamfer through the edge is split.

If that isn’t on the improvements list, it should be…

To get around it you can either: _Explode the axle instead of just extracting the walls, then after _UntrimHoles use _Untrim on the leftovers. Or you can: _Explode and use _SrfSeam to shift the seam so it doesn’t intersect any holes before using _UntrimHoles.

1 Like

I couldn’t remember this command, it is exactly what I was missing! Awesome.

Split the cylinder below the hole, rotate the appropriate piece and rejoin?

Move hole at one end of axleB.3dm (833.6 KB)

cut the cylinder (axes) left of the hole. extend the cylinder to the original length, chamfer again. make a cylinder with the right diameter and place is in the exact angle, boolean difference en chamfer the edge.

Oeps, the problem was allready solved … :roll_eyes:

Hello -

ExtractSrf the cylinder.
Rotate the hole surfaces in Front on the Cen of the cylinder.
ReplaceEdge the trims on the cylinder where the holes used to be.
Trim new holes into the cylinder with the edges of the rotated hole surfaces.


1 Like

Hi Pascal,
When I try this the entire cylinder disappears with trimming leaving just the holes. Not sure what I’m doing wrong.


Hi Dennis - trim with the edges, not the entire part…


Sorry, how do I select just the edges?

Hi Dennis - you can ctrl-shift click, or use the CRV filter when selecting the cutting objects

Trim > type ‘CRV’ and Enter then select on the edges.


Got it. Thanks. Senior moment!