Thursday, May 09, 2013

Scheduling Apartments

I can’t take full credit for this post, as it was Becks Aaron Maller who reminded me of this, as it seems that I had wiped it from my memory. Neither the less, let me explain. More often than not, project teams working on residential schemes will use groups for apartment or flat layouts. If you apply a sound strategy, with clean interfaces between the elements in the group & the main structure of the building; this actually works well.


I also recommend to users that they don’t mirror the groups, instead they create left & right versions. In this instance, if I did require a handed version, I would group, name appropriately, mirror, then ungroup the mirrored version, regroup & rename as the handed version.

imageSo you can then happily use your groups in your project as long as you are mindful of the limitations of groups. But what about scheduling? As it stands, in Revit 2013 we can’t schedule groups. So how do we get around this limitation, especially where you might have to schedule apartments or flat types in a project; a common practise in residential projects. The answer is to create a very simple generic model family which includes the mark parameter & ensure this is included as part of your apartment model group. It doesn’t have to be anything too spectacular, it can be as simple as a few symbolic lines which can be controlled & categorised with subcategories so it can be easily found, located & displayed. When the groups are placed in the project, you can use a multi category schedule & pick up the mark parameter from the generic model family. This is a great way to push data back into until group as well, by driving data from the schedule into the generic model family within the group.


In Revit 2014 we still can’t schedule groups! However some minor enhancements open up more opportunities to push data into elements within groups & allow us to schedule this data. The reason for this, is we can use the “new variance parameter by group” functionality in 2014. Let me explain how this could be used.

This example gives a brief description of the implementation process. Typically I would probably use a generic model family as well as shared parameters as my data collector in the group, but to demonstrate the process I will create simple in-place generic model family.

We will start by creating a couple of project parameters manage; tab > settings tab > project parameters.


We will add two new Project Parameters, in this example I have made them Project Parameters, but they could easily be Shared parameters which would allow us to tag them.

Set the Type of Parameter to be Text, as we want to drive data in. When you change the Type of Parameter to Text, “Values are aligned per group” or “Values can be vary by group” instance radio boxes will become available.


We will define 2 new parameters one called unit plot and the other called bedroom number. I have applied these 2 new parameters to generic models categories & set the “Values can vary by group instance” parameter.


Next I have created a very simple in-place family & name this as “data collector”.


This in-place family just includes a few symbolic lines for this exercise so we can locate it.


Now when we create our apartment layout ensure this in-place family is included in the group for each apartment layout.


We will now create a new schedule. In Revit 2014 we can now schedule generic models.


In the schedule we can include the name of the in-place family as well as the previously project parameters we created.


Now if you start to add data to the schedule this gets driven back into the in-place family instance within each group. If we now tab select the in-place family we created, you can see the data we have driven from the schedule back into the in-place family within the group.


As you copy the group around the project this data is retained.


Whilst the example here is rather crude, just to get the concept across, this provides a far better way to schedule groups and include useful “data” within each group for apartments and flats.


Brianklade said...

Great post.

Russ Green said...

attach the parameter for flat no, etc to the rooms and then you can group room schedule by flat no and schedule apartments and report net areas...

Reuben Losh said...

I usually use a transparent very thin floor as part of the group. I can use that to schedule unit type and bedroom number and it has the added bonus of giving me a schedulable(?) floor area. But this method seems nice and simple, too...

Aaron Maller said...

Thanks for the shout out, David!

All of the above solutions will work, and will all get you to the finish line. There were reasons, however, we wanted a simple *Identity* capacity stemming from JUST the Model Groups themselves, or- in this case- an Ident Family.

Using Rooms- Of course they work, but there is always more than one room per apartment. So yes, you can go ahead and use Dept and start to filter by department, then you end up wanting to tag rooms by department, and inevitably you end up with a bunch of confusion if/when someone "misses" a room while updating things.

The floors work as well, as long as there isnt any other baggage that goes along with it: Reupdating the sketches if the apartment changes, or having the floor delete itself if the sketch becomes invalid from a wall change and locked constraints, needing additional family filters to make them transparent in plan, unless you want all floors transparent, etc.

Certainly not saying they wont work, but this was why originally a bunch of people started making "Wayfinding Families" that could be scheduled simply.

The addition of data variance by group is a massive game changer (for us) anyway. It means instance-variable things like absolute locations (coordinates), varying finishes, and such, can be altered group instance by instance.

The one thing that you cant do, i believe, is use Shared Parameters. I believe (unless it changed) youre limited to project parameters, to make sure the parameters dont exist in the family environment where they could be assiciated to geometry.

For FM/Asset tracking, this feature is the bomb-diggity.

And i mirror my groups, all day long and twice on sunday. As long as there are no Line Based (at all) or Work Plane Based (without the work plane host) Families. I aint scared. ;)

Lucky said...

Hi Sir

Its Realy A Nice Post And Nice Tutorial on Revit its help me lot in Revit Training Thanks for Sharing such a nice Article

Thomas Flora said...

I agree with Reuben... We've tried this application before at our firm and it gets a little too convoluted. These "in place families" get lost sometimes when creating modified units. The floor application works perfectly. With having the floor in our "skin" group, it allows us to not only tag and schedule, but it gives us the area of the unit, which is key to our Unit Matrix.

jonathon said...

I think I shall be giving this a runaround to see how far it can be exploited.

Seems good. A low data entry : data output ratio is always what we need.

David Jennings & Nathan Topham said...

I add area lines and areas into the groups thus getting a schedule of areas as well.

David Jennings & Nathan Topham said...

I tend to use areas for scheduling apartments. The lines and areas are model based so they can group with the walls etc. Then I set up a shared instance parameter associated to areas, and a new tag etc so that you can name each instance separately, whilst the area (as a type parameter) stays constant.

drzz said...

Thanks for this post. For those who read French, here is a good explanation of BIM - IFC :, and what the French call the digital model/sketchup/mockup (maquette numérique).

Jenny Watson said...

I just want to say that it is fantastic sharing thanks for all the effort which made for us.