How to make a hole in a 3D object in Rhino?

Short Answer

Yes — in Rhino 3D, the most common professional way to make a hole in a 3D object is with BooleanDifference. Create a cutting solid such as a cylinder, position it through the object, then subtract it from the target solid. This works best on closed solids; open polysurfaces can fail.

What You Need to Know Before

Warning: BooleanDifference often fails when either object is not a closed solid or when the cutter only touches the surface without fully passing through it. Tiny gaps, bad joins, or locked objects are common hidden causes.

How to Make a Hole in a 3D Object in Rhino

  • Command: BooleanDifference

  • Shortcut: No default shortcut

  • Quick Steps:

    1. Create a cutter shape, usually with Cylinder from the Solid menu or command line, and place it so it fully passes through the 3D object.
    2. Run BooleanDifference, then select the object to subtract from and press Enter.
    3. Select the cylinder as the object to subtract with, press Enter, and keep DeleteInput=Yes if you want the cutter removed automatically.

Variables & Settings

  • Key Setting: DeleteInput

    This command-line option controls whether the cutting object remains after the subtraction. Professionals usually keep it set to Yes for a clean workflow, but set it to No if you may need to reuse the cutter for more holes.

Why it Fails

  • Cause 1 (Geometry): The object or cutter is an open polysurface, naked edge object, or invalid solid, so Rhino cannot calculate a proper boolean result.
  • Cause 2 (layers/Locks): The cutter or target object is on a locked layer, or object selection is restricted by layer state.
  • Cause 3 (Command/Logic): The cutter does not fully intersect the object, or it is only tangent to the surface, so no removable volume is created.

Quick Fix & Best Practice

  • Quick Fix: Run ShowEdges to find naked edges, repair the solid if needed, and make sure the cylinder fully extends through the object before using BooleanDifference again.
  • Manager’s Verdict: Use BooleanDifference first because it is the fastest and standard Rhino workflow for holes in solid models. Avoid it for messy imported geometry; in those cases, rebuild or join the solids before subtracting.

FAQ

Can I make a hole in a surface instead of a solid?
Yes, but you usually need Trim or Split instead of BooleanDifference.

What shape should I use for a round hole?
A Cylinder is the standard cutter for a circular hole.

Why does BooleanDifference do nothing?
Usually because the cutter does not fully intersect a closed solid.

.