Joining building blocks & developing random facade openings on large city model


there is a 3dm and GH file linked to thsi post, consisting of building blocks.

  1. I would like to know how to make one, face and control point simplified model out of it. There should be one polysurface object when the building blocks are physically connected. Later on, I would like to start 3d printing with the geometry.

  2. The geometry is separated into ground-, wall, and roof surfaces by layer structure. Is there any chance to put random window openings onto them?
    I just need a deepening inside the wall that should look like a window opening for a more authentic feeling. The bulding volume must be a closed object for printing.

Hope that someone could show me a grasshopper solution or tips how to do correctly.

This kind of window opening I am talking about: ///GH ///3DM

With the help of @Joseph_Oster and @Piotr I was able to start sperating the facade relevant faces from the non-relevant ones. From here I do not know how to continue.

Thanks for your help and time!

:pray: :pray: :pray:


This is not a task for a novice by any means. I would strongly advise to do it the good old way (manually).

A few hints.

  1. The first that you should do is to cluster randomly sampled objects based or face to face contact (and/or on ccx events). This does that (rule used: face to face contact [but a ccx rule could being added as well]).

  1. Then comes the pain: assume that you have clustered objects “like” in the second image: say “buildings”. This means that you have on hand conn info as well: what face of what Brep is in contact with what other face … blah, blah.

  2. Making a “boundary” out of them (general case: any objects in different footprint Z) is tricky and requires several lines of code (that said I don’t have a C# that does that). You can attempt a bool union mind - provited that it yields some result(s) (hope dies last).

  3. Then … the windows are more or less “easy” (in theory) … but also requires several lines of code (and some strict rules) .

Thank you for your advise. Unfortunately it seams to be way to complex regarding my coding skills. I think I have to continue the inefficient manually way. Thank you for your time :slight_smile:

Well … assume that you are “top” (so to speak) in C#. This may require at least 3-4 full days to “resolve” (optimistically speaking) … and then probably a week to fully(?) resolve it. Is it worthy? I mean if this is a single case you should spend your time doing something else. If on the other hand you do similar things every day for living … blah, blah.

As my friend Tom (The wise German) says: frequently the manual way is the fastest way by far.

On the other hand you can attempt a hydrid approach: do a C# that does windows in a rectangle and then continue manually on a “boundary” (sum of clustered Breps) face basis … where you decide what face to perforate and what not. This yields always the best aesthetics.

1 Like