Wednesday, 15 February 2012

Spread the love - system and shared parameters

It's been a couple of months since I last posted... Christmas, New Years, getting engaged, having a baby and Tet (Chinese/Vietnamese new year) are some of my own highlights, I hope y'all had an enjoyable break!

I'm going to start by making a prediction for 2012 - it's going to be a big year for the "I" in BIM, which stands for Information or Interoperability depending on your perspective.

CodeBook 'System' Parameters are those essential for CodeBook to function with Revit, CodeBook 'Shared' Parameters are those which are user defined optional parameters relating to either room or equipment data that you want to include within your Revit model.

Many large practices use a Shared Parameters File (SPF) to predefine the key parameters important to the modelling and documentation of each project. The idea being that you define them once correctly in your SPF and then utilize them on each project - think title block info, common building element, family and view properties.

Let's start with the CodeBook System Parameters, which I've defined in the image below

...these need to be explicitly defined in your Shared Parameters File as above - or you can allow CodeBook to add these to your project by choosing NOT to tick 'Do not create missing shared parameters' see image below. Apologies for the double negatives, but make sure you get it right or you'll have issues when you synchronise rooms, or update designed equipment.

We have chosen to control all parameters and define them through our SPF, hence why this BOX IS TICKED in the image.

The CodeBook Shared Parameters are optional and you can choose to include as many, or as few as you like. The image below shows an example of the CodeBook room information and room data fields we have chosen to 'share' in one of our projects.

The columns on the left hand side indicate the CodeBook fields, the Parameter Group and Parameter Name fields relate to (in this case) the Revit Room Parameters that we wish to 'Share' between CodeBook and Revit. Once you have mapped these, you need to determine which direction the data will be exchanged.

Generally speaking it is advisable to push or publish these parameters from CodeBook into Revit by selecting Copy data TO BIM. Typically you will define room data in CodeBook long before your Revit model is developed sufficiently to include in your model - i.e. your room data sheet info such as room name, required area, floor finish etc... are created in CodeBook during the briefing phase and it is only during the schematic design or design development phase that you would look to link this information with the Revit model.

Once your parameters are mapped, you've chosen the direction in which the data will be exchanged and selected which to 'Include' you are ready to Synchronise BIM to database links. Every time you Synchronise, CodeBook will record the geometric and coordinate data of each room from Revit into CodeBook - PLUS - dependant on what you've defined in your parameter mapping CodeBook will publish room data into the Revit Room Parameters. Note: the direction is critical, if you select Copy Data TO BIM, information will flow from CodeBook into Revit. If you select to Copy Data FROM BIM, the values within your Revit Room Parameters will be copied into the CodeBook fields.

Hopefully this all makes logical sense, but to fully get the point across, let's take the example of room names. If you have room names populated within CodeBook, but not in your Revit model, you would select to Copy Data TO BIM. When you synchronise BIM to database links CodeBook will record area, perimeter etc... from Revit into CodeBook and populate the Room Name Parameter field in Revit with the values defined in your CodeBook project. If you selected to Copy Data FROM BIM (and the Revit Room Name Parameter was empty) you would end up with a CodeBook project full of empty room names.

So to recap, the CodeBook 'System' Parameters are essential for CodeBook and Revit to work together, generally you should allow CodeBook to manage this by leaving 'Do not create missing shared parameters' UNTICKED. If you have defined these in your SPF then you can tick this box - but make sure you get it correct!

The CodeBook 'Shared' Parameters are optional and you define them in the parameter mapping. Specify the data you want to exchange between CodeBook and Revit and the direction - CodeBook to Revit, or Revit to CodeBook. When you Synchronise BIM to database links, the geometry and locational coordinate data will be recorded from Revit into CodeBook AND the parameters you've 'Included' within your parameter mapping will also be synchronised.

Also within Project Parameters > Define Parameter mapping, you'll notice you that you can define parameters for equipment and doors. The same principle applies in that you specify the CodeBook data and map this to a corresponding Revit Parameter. Door parameters can be exchanged in either direction, but equipment parameters can only be synchronised from CodeBook to Revit.

The reason for having a single directional data flow for equipment families, is due to the 'data relationship type' being one to many. Each equipment family should have the same code, description, group etc... but it is possible to have different instance values for these in your Revit model, if the values were entered manually. There is a single record in the CodeBook library for each item of equipments code, description, group etc... therefore you can only publish these parameters from CodeBook to Revit.

Again to fully explain this at length, let's take the example of equipment codes. If you had a family within Revit with multiple different parameter values for the equipment code and CodeBook allowed you to exchange data from Revit to CodeBook, how would CodeBook know which was correct? WE DEFINITELY WANT these to be consistent for each family type, hence why the data flow for equipment is one directional.

Hopefully this has explained CodeBook System and Shared parameters fully, but if in doubt, contact CodeBook support who will be sure to point you in the right direction.

Happy CodeBooking!