Makehole does the opposite of what they are supposed to do

Hi all,

in my latest project, I tried to make a BooleanDifference between two polysurfaces (substracting the beige brep from the selected grey one), but instead it created a BooleanUnion

Then I tried to use a MakeHole, but somehow it did the exact opposite of making a hole

Those closed polysurfaces were created using the following grasshopper script:

Thank you in advance

251207_Maquette-finale.3dm (12.4 MB)

extrude surface.gh (10.8 KB)

Here are the System Infos:

Rhino 8 SR18 2025-4-10 (Rhino 8, 8.18.25100.11001, Git hash:master @ 5d157e876c23ece334d9c8666b8513ffc6d4a98d)
License type: Educational, build 2025-04-10
License details: Cloud Zoo

Windows 11 (10.0.26200 SR0.0) or greater (Physical RAM: 32GB)
.NET 7.0.0

Computer platform: LAPTOP - Plugged in [94% battery remaining]

Standard graphics configuration.
Primary display and OpenGL: Intel(R) Iris(R) Xe Graphics (Intel) Memory: 1GB, Driver date: 12-21-2022 (M-D-Y). OpenGL Ver: 4.6.0 - Build 31.0.101.4032

Integrated graphics device with 4 adapter port(s)

  • Windows Main Display is laptop’s integrated screen or built-in port
    Primary OpenGL: Intel(R) Iris(R) Xe Graphics (Intel) Memory: 1GB, Driver date: 12-21-2022 (M-D-Y). OpenGL Ver: 4.6.0 - Build 31.0.101.4032

Integrated (slow!) graphics device with 4 adapter port(s)

  • Windows Main Display is laptop’s integrated screen or built-in port

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: Intel
Render version: 4.6
Shading Language: 4.60 - Build 31.0.101.4032
Driver Date: 12-21-2022
Driver Version: 31.0.101.4032
Maximum Texture size: 16384 x 16384
Z-Buffer depth: 24 bits
Maximum Viewport size: 16384 x 16384
Total Video Memory: 1 GB

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\SolidTools.rhp “SolidTools”
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.18.25100.11001
C:\Program Files\Rhino 8\Plug-ins\WebBrowser.rhp “WebBrowser”
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.18.25100.11001
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.18.25100.11001
C:\Users\thore\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\PanelingTools\2024.8.20.677\PanelingTools.rhp “PanelingTools”
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.18.25100.11001
C:\Program Files\Rhino 8\Plug-ins\IronPython\RhinoDLR_Python.rhp “IronPython” 8.18.25100.11001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.18.25100.11001
C:\Program Files\Rhino 8\Plug-ins\Grasshopper\GrasshopperPlugin.rhp “Grasshopper” 8.18.25100.11001
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.18.25100.11001
C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8\Plug-ins\Calc.rhp “Calc”
C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp “SectionTools”

the problem are the normals of your polysurface they point inwards:

_explode
_join (will fix it automatically)

here is something to play with:

do a boolean difference: lower piece minus the upper one..
(red surface = normal reversed)

boolParty.3dm (3.4 MB)

kind regards - tom