Designing a Skyscraper using GenerativeComponents

Hi All,

 Over the past few months I have been working with one of our Bentley users, Tapani Talo, modeling a high rise tower using GenerativeComponents and OpenBuildings Designer.  Mr. Talo had some very interesting ideas for a tower design and was looking for a way that he could conceptually model the tower without having a defined program or site.  He needed a model where he could explore different design ideas, variations and what-if scenarios without endlessly rebuilding the model.  A problem tailored made for GenerativeComponents.

He has generously allowed me to share what I learned throughout this process.  I have put together a series of YouTube videos showing how I set up the GenerativeComponents model(s).  These will be posted on YouTube over the next few weeks.  The first in the series is posted today.

Establishing Tower Geometry

For those of you that have taken the GenerativeComponents QuickStart you will recognize many of the same techniques for creating a stacking model that drives the Floor Manager, but you will also see some new concepts like linking one GC model to another in order to use geometry in one model to drive geometry in another model.  This turned out to be a very useful technique in working with such a large model. 

I hope you enjoy.

Mary Chib 

  • NIce work Mary

    Brenden Roche

    Applications Engineer

    Bentley Systems, Manchester UK

    This is a test

  • Thanks Brendan, Just wanted to add that a playlist has been added to YouTube.  The first three videos have been posted, final two will be posted by next week.

  • Hi Mary,

    Great videos. I hadn't fully utilized the imported GC model until you showed it in your examples. Typically we have used the include GC script.

    As Dominic mentioned in another thread this could be a real game changer in workflows. I can see it as a real world node grouping method, that is a easy way to manage than the GNT workflow. Just need to re-run the script or save etc.

    Just wondering if I could ask a questions about the IGCM "GC model input property"? 

    In testing I could only set nodes like expressions, sliders, gauges etc as inputs. Do you know if that is intentional? Maybe I missed a step?

    To really open up the functionality it would be great to be able to set points, polygons or other geometry as inputs giving the ability to for teams to develop scripts that others can reference in and use. Thinking out loud it is probably the same as creating a GNT but it has a bit more flexibility I think when sharing scripts with other team members.

    Thanks again for the videos.

    Look forward to the next series



  • Hi Wayne, Thanks, I am glad you enjoyed the videos. 

    To be honest, I had not really paid much attention to the "GC model input properties"  as I was primarily looking to drive the other models from the Tower Geometry model.  However, your question made me go back and take a look...and that starts to open up all kinds of other possibilities.  

    It does seem that the "GC model input properties" are limited to expressions. sliders, guages, etc.  The thought of using the imported GC model  instead of a GNT is an interesting thought and then does suggest the need for geometry inputs. 

    I need to do some more investigating...I'll let you know what I find. 


  • Whether a node can serve as a GC model input property (GMIP) is not based on the node's type, but rather on its relative position within the source GC model. Specifically, a GMIP must be a root node, that is, a node that doesn't have inputs from any other nodes.

    The ImportedGCModel mechanism works by effectively replacing the source model's GMIPs with nodes from the outer, client model. Of course, only source-model nodes that are independent from the rest of the source model can be replaced in that way. (You can't replace a node in the middle of a model 'A' with a node from model 'B'; that doesn't make any sense.)

    An ImportedGCModel is not designed to serve as a generic multi-node component in the same way as a GNT. Rather, it's designed to serve as an "anchor" for additional geometry. In other words, it's expected that most nodes in the client model will be connected, either directly or indirectly, to the outputs of the ImportedGCModel, rather than to its inputs.