Wednesday, August 28, 2013


More experiments with Adaptive Components representing building elements, nested within Mass families and using Mass Floors within the project environment to report GFA for different configurations.

One interesting difference between Conceptual Massing and the conventional Family Editor is the ability to create surfaces with zero thickness.  I have been using a simple Box family (GMA)  Width & Height are set conventionally via labelled dimensions,  Using the "lock profiles" feature to take me into a familiar sketch mode when editing the extrusion.

The height is a parameter linked directly to the offset value of the extrusion.  Unlike "normal" families, the height can be set to zero without triggering an error.  The box simply becomes a surface of zero thickness.  And unlike labelled dimensions, the offset parameter can take a negative value.

In the previous post I used the box to make a podium carrying a variable number of towers or slab blocks.  This time the podium will become a divided surface representing plot parcels.  The towers will become buildings, populating the nodes of the surface via the repeat command.

I used instance parameters to allow rapid adjustment of multiple instances.  As a first exercise I set out 4 urban blocks each 200m square and populated each with the same Gross Floor Area.  Building heights vary from 2 to 12 stories and the density of coverage varies accordingly.

That's fine as a proof of concept, but you may have noticed that the buildings overlap the surface at the edges.  All the nodes are populated, and unlike a linear repeater we don't have an indent parameter to create a blank marging around the edges of the surface.  So we will have to set that up within the family.

A bit of extra geometry 2 or 3 formulae, a bit of grief and I got it working.  With a bit more effort I could probably get it to report the number of plots within the parcel and their areas.  Make these shared parameters and we could schedule them.  Maybe we could even calculate FAR and coverage values.  But first let's try it out.

I created a couple of wall types to represent roads of different widths, and set out a very basic housing layout.  Quite fast and easy to adjust

Next something a bit more urban and varied.  The materials are type based and can represent different uses: retail, commercial etc.  With a bit of tweaking it's quite easy to separate out podium and tower areas for each of the use groups in a simple schedule..

My family is rectangular.  What about irregular parcels?  I created an in-place version with repeater rows hosted on the top surface of the podium.  Nested tower families in a similar way.  You can copy this around and edit the podium sketch, it works quite well.

When I attempted a more detailed analysis I came across limitations/challenges.  For example you can't separate the podium floors from the tower floors within a mass schedule.  It has to be a mass floor schedule.  But in a mass floor schedule you only have limited access to parameters belonging to the mass family.  Also when you create new shared parameters, these are not available for filtering the schedule.  I made some progress in developing work arounds, but it needs more time.

The solution I used for creating a border complicated the area calculations.  In any case, parcels are usually just 2 plots deep for access reasons.  So I abandoned the divided surface approach and made a new family with 2 repeater rows.

I think this is a better solution.

I experimented with curtain panels.  They won't compute mass floors, even if you change the category to generic model.   Four point adaptive famies don't work either.  In fact a little further study led me to the conclusion that anything beyond a simple extrusion is not going to compute when embedding GMA families in masses.  So that limits you quite seriously.

You can do repeaters with extrusions.  You can model complex geometry in the mass category.  Mass floors will compute.  But you can't put complex geometry into repeaters and expect the results to compute.  Never mind.  It would have been fun to do a repeating row of twisty towers, but let's face it, early masterplanning studies are probably going to use simple generic forms.  You are interested in getting the numbers right and developing the overall massing & texture of the city blocks.  Architecture will come later and at that stage you will want each building to be a separate entity, not part of a row of repeaters.

In any case, within the project environment you can make repetitive groups of masses using the conventional array command.

Tuesday, August 27, 2013


Nice post from Philip Chan on his new blog  HERE  This has created a good deal of interest.  Hard coded behaviours are great most of the time, but annoying when it's not what you want.

A couple of years ago I developed my own little hack which in a way is the reverse of Philip's.

I was making elaborate archways for a project we were doing in Egypt.  The client wanted a lot of variety in the facade, generally with an arabic flavour.  We had a dozen or so "typical bays" which were scattered around in different combinations over a series of apartment blocks.  I needed to embed some detail components into the families so that they would look the part in section views.

In some cases this was just a matter of indicating continuous external render where the original wall was cut away or built up.

Some of the bays had windows nested in them, some were just archways with balconies behind.  I didn't want to use the windows category for the master family because I was worried about double tagging.  Also archways might find their way into the window schedule if someone forgot to filter them out.  The problem I faced was that the detail items sometimes showed up in inappropriate places.

With a window family this is easily solved by checking the "only show when cut" box.  In a generic model family this feature is greyed out.

You will have already guessed my solution.  Swap the type to window, check the box, swap back again to GM.  It stays checked even though it's greyed out.  Why they don't just let us check the box in a Generic Model family I don't know.

Just a variation on Philip's hack.  (Hi Philip)  Hope you find it useful.

Thursday, August 22, 2013


This is a follow up to the previous post.  You can get a Generic Model Adaptive family to take mass floors by embedding it within a Mass family.  So what ?  Why might you want to use adaptive features while doing a GFA study for a project ?  I woke up in the middle of the night thinking about that one (really need to get a life) and started scribbling down ideas.

Divide and repeat springs to mind straight away.  What if you were to make a podium with a variable number of towers for example.  The image below shows my first test.  2 instances of the same family.  The same nested GMA family serves for both the base and the towers (two types)

The towers are hosted on a repeater which is hosted on the base.  The whole thing takes mass floors nicely.

Lots of instance parameters to play with for different configurations.  You can see how this would be useful in a masterplanning context.

Our weekend is about to start, so apart from completing a mammoth post on Ronchamp and putting my Revit file up for download, I might play around with this idea a little more.  Maybe try some less regular shapes, curved arrays, dancing towers ...

But before I sign off, another little nod in Luke Johnson's direction.  Just after I made the multi-tower family a little light bulb went on.  Didn't he do something a bit similar ?  Actually it wasn't quite the same because he wasn't using mass floors, just making curved rows of townhouses, but it is a variation on a similar theme.  Take a look.

LUKE: using-divide-and-repeat-for-site

Tuesday, August 20, 2013


I feel like Luke Johnson.  2 short posts in the same day .... :)

Question from Stefan: why are mass floors greyed out when a generic model adaptive family is loaded ?  I had to check this one out quickly.  It seems to me that there are subtle differences at work.

We have lots of family templates available and many slight differences in the way they work.  In this case we are looking at just 3 of them:

    • Generic Model
    • Generic Model Adaptive
    • Conceptual Mass

Now the first 2 partake in some of the nature of the third (a full-Monty Mass family), but not all.  They can take wall-by-face, roof-by-face etc.  But they won't create mass floors.  Mass floors are a subcategory of "Mass".  So it would be rather odd if they existed within another category.  How would you hide them, or assign materials to them ?  

In my quick experiment I made three cylinders, one from each of the templates mentioned above.  All of them accept hosted system families (walls, roofs, curtain systems)  BUT ... only the Mass can utilise the automatic Mass Floors by level feature.  The tool appears on the ribbon, as if to let you know that this is something half-way to being a mass, but it's greyed out.  You can't actually use it.

You can see where the confusion arises.  Generic models seem to behave like Mass families, but only up to a point.  With Generic Model Adaptive it's even more "understandable" because you are actually working in the Conceptual Massing Environment when making this type of family, rather than conventional family editor.  So you might expect Mass behaviour.  But apparently this does not extend to mass floors.

I stand to be corrected, but I think that's how it is.  So to Stefan: you need to start from the Conceptual Mass template if you want to use mass floors. 

But what if you want to use adaptive points & repeaters and all that clever stuff ?  Well it seems that if you nest a Generic Model within a Mass then it will take mass floors.  So all your hard work is not lost, just start a new Mass family, load your GMA into it and then load the Mass into your project.  

Hope this helps and I am open to correction from the likes of Kelvin & Alfredo who may well have gone into this in more depth.  


This has nothing to do with Princess Diana conspiracy theories.

One of the first questions asked by new users who come from an AutoCAD background is "what about keyboard shortcuts ?"  My stock answer is "Yes there are lots of them, and you can customise ... BUT ... in my view they are less important to you than they were with 2d drafting.  With BIM, the computer does a lot of the routine work for you, leaving you more time to think about design issues, to plan your work out.  With CAD it was all click, click, click, copy copy copy.  With BIM you spend more time choosing properties from dialogue boxes.  There is a different pace of working."

I still feel this is valid comment, but I am starting to think that I should make the effort to include a few more shortcuts in my regular repertoire.

currently I use

  • VG  =  visibility graphics
  • VH  =  hide category in view
  • EH  =  hide element in view
  • ZX  =  zoom extents
  • WT  =  tile windows
  • CS  =  create similar
  • SE, SI, SM, SC, SQ, SN  etc   all the more obvious snaps

Mostly the keys are close together, they work like acronyms (easy to remember) ... PLUS the "other way" of doing them is a bit too long winded.  CS is actually dying because it's just as easy to select something and nip up to the ribbon.  Even VG isn't as useful as it used to be.

A few weeks ago I discovered KS, which brings up the Keyboard Shortcuts customisation window, and I played around for a while.  One of the surprise discoveries was SZ (close loop when sketching) which has been the subject of tweets this week by Paul Aubin & Steve Stafford.  We have a "Revit Corner" on our display board at work and I was inspired to pin this up.

I also added the following customisation to my own setup.  Note my preference for double-hits.  This dates back to my own AutoCAD customisation phase which was at it's height around 15 years ago.  With the advent of icons, right click menus & higher-definition screens, my  enthusiasm for writing custom menus gradually faded.

RV = revisions
CV = paste aligned to current view
JJ     = export image (jpeg)

LL = symbolic line (and level)
OO =offset
SV =select all instances visible in view (SA already set to all in project)
PPP =select previous
SSS =snap off
TT =thin lines (also TL)
AA =align (not adjust analytical model)
DD =aligned dimension

The first 3 have definitely caught on.  Some of the others are just a click away, so why bother ?  In the end it's probably a very personal thing.  The human memory is a strange beast.  For some of the less accessible commands I already added them to the quick access toolbar. (new sheet, detail line, materials, object styles ...)

That was actually the topic of my very first post.     Post No 1

Thursday, August 15, 2013


I did a short article for Middle East Magazine.  Actually I wrote a massive tomb that was cut down by about 90%.  Maybe I will post the long version sometime.  Here is a link to the short one.

Middle East Architect

As part of the visual accompaniment I did a version of the Gartner Hype Cycle.  All modeled in Revit of course.  Maybe you will enjoy.

Monday, August 5, 2013


I had an urgent request from a couple of architecture students to make the Ronchamp Chapel available as a download.  The work is far from finished, many windows missing for example, so please bear that in mind.  Check out the original post HERE

You can download a DWF file from   HERE

Hope you will find this useful, and good luck with your studies.  For all students of architecture who make use of my work in their projects.  Please credit your sources, (one of the cardinal rules of academic work) and if you are able to send me a link to your completed projects that would also be nice.

You are the future.  Make it a good one.