Help needed on differentiating windows and walls

Hey folks,

I’m new to the forum here, and to Rhino/Grasshopper, and am have an issue that I suspect is a result of poor workflow (linked to my fledgling understanding of Rhino/Grasshopper workflow!).

The image below shows the Grasshopper geometry for Walls and Windows in the attached model. As you can see, in some instances, the walls have been cut for windows, while in others, the windows have been overlaid onto walls.

Can anybody please advise why this is the case?

I’ve been having A LOT of trouble keeping window curves pinned to the relevant surface (often accidentally, and frustratingly, shifting slightly forward or back when moving). It may be linked to this. Any advice anyone can offer to make this process less frustrating is deeply appreciated!

[Note that in this model I’m only interested in the peak heating and cooling for a specific number of zones. All other zones are intended to be treated as adiabatic.]


I was unable to attach the model (due to filesize?), so linked them on Google Drive below:

Thanks folks!

I would extrude your wall surfaces, create your window surfaces, then “solid difference” your windows from your walls.

another option is to split your extruded wall surfaces with your window poly lines and then split the list by dispatching the area of the surfaces using greater or less than. So you can split windows from walls because the window surface areas are smaller.

Thanks Michel - That appears to be working perfectly!

The only area I’m struggling with now is the below:

When I attempt to extrude the window outline into a closed surface (with 0,01m depth), then BooleanDifference, it leaves the window surface, rather than the zone from which the window should be subtracted.

I suspect it’s something to do with the funky geometry of the window. Any suggestions on a work around?

Glad I could help!

You are probably right that the funky window is the culprit.

Since you are alrdy extruding the window surfaces/outlines before doing the boolean difference, I would go ahead and do a much larger depth than .01m, incase your geometry is funky, the extra width will help clear the window.

Hope that solves it!

Super helpful, Michel - Thank you!

They are intersecting, as indicated in the below photo, but for some reason the geometry the command is choosing to remove is that surrounding the window surface. Is there anyway to force it to delete the zone surface within the confines of the window surface instead?

1 Like

I got there after a little bit of fiddling. For some reason the command worked as intended when I draw a rectangular polyline around then extruded window surface, about 0.3m from the outside surface of the wall, then extruded in towards the building.

BooleanDifference then got it the right way around and deleted the window opening, not the zone. Huzzah!

Thanks again for the help. Super grateful and stoked to have found such a responsive a committed community doing great work.

Keep it up!

1 Like

you are very welcome. For future reference, Boolean commands work best with closed breps, so if if that window outline extrusion was capped, it would work as intended. Have a good one!