Thursday, 15 November 2012

Save weeks of work with Room Types

Room Types are a great way to rapidly populate your project with the Room Data Sheet requirements and also provide a powerful tool for driving information consistency across a project.

Below are notes which will guide you through creating and editing data templates, but remember, strategy is everything.

The basic concept is that rather than filling in the design issues, finishes, m+e, doors and required equipment for each individual room, we create templates for each of these elements which in turn are combined within a Room Type template and assigned to the applicable rooms.

To get started, open the room editor window, insert a new room and then start filling in the design issues fields, notice that your information is coloured green when you hit the save button.

Once you've finished, go to "Room>Make Data Template" and you will be presented with a new window - the data templates editor.

All templates are assigned a code and description, which in the case of design issues defaults to DSxxx and the name of the room that the template was created from. Now edit the template code to be "DS_TEST" and template name to read "TEST DESIGN TEMPLATE" - congratulations you've just created your first template!

If you go back to your room editor window, you'll see that all of the values in the Design Issues tab are now coloured black, which indicates that the values are coming from a template. Colouring the differences in green provides a quick way to see where your room differs to your template, i.e. contains room specific overrides.

To change a green room data override to be the same as the template you simply change it to "as template" and hit save. To make all the design issues reflect the template, simply hit the "Default" button in the bottom left corner of the Room Editor window, which will update all of the design issues fields to be as per your assigned template.

Creating the required equipment list for a room is done by dragging and dropping equipment or unions from the library into the required equipment section of room editor. If you need to add the same item multiple times, you can do this by dragging and dropping multiple times, but an easier method is to right click on the item from the required equipment list, Select increase quantity and type in the number required.

You can delete items of course, however, once your baseline brief has been established it is generally advisable to omit items and specify a Reason for Update. This is part of the track changes process and provides visibility about when and why items were removed and gives a running history of what has changed during the design phase.

Every project I've ever worked questions why you would do this at first, but as soon as the contractor / client RFI's start rolling in this audit trail becomes immensely valuable and saves hours (if not days) of painfully trawling back through meeting minutes and markups. So much so I'll dedicate a future post to this.

At the bottom of the required equipment window you'll see a button "Properties", which unveils a section where you can add further information against each item of equipment, such as highlight transfer items or assign an asset ID. The "asset" information relates to the equipment in a specific room - not to all of the equipment in your project and it is important to understand the difference. Asset based changes = required equipment list. Project Equipment based changes = Equipment Library.

Once you have created a required equipment list, you can convert this into a template, or Assembly as its referred to. Select "Equipment>Assembly>Make Assembly from Required Equipment List"

Just like other templates, equipment Assemblies should have a logical code and description, so update the assembly code to "AS_TEST" and the assembly name "TEST ASSEMBLY" from the Summary tab.

Assemblies can be further edited by using the Add / Remove Member buttons at the bottom of the assembly window. The thumbnail image is displaying a cross at this stage as the equipment hasn't been arranged - so once you've "loaded" a room in your project with the items from your assembly, use the function "Librarian>Update Graphics>From Loaded Room" and this will be updated, but more importantly it means that the next time you insert the assembly it comes in set out in the desired arrangement!

The Doors tab in Room Editor will appear blank when you first select it, as not every room will necessarily have a door. Select "Door>Add" and fill in each of the fields listed - again notice the green colour. Then go to Door>Create Door template and give the template the code "D_TEST" - you're probably noticing a pattern here and how easy it is to create templates.

To complete our Room Type we need to create the rooms Finishes and M&E templates using the same method as the Design Issues and Doors. Once all of your templates have been created, go to the first tab in the Data Templates Editor - Room Types.

Create a new Room Type template by selecting "Edit>Insert", give it the code "RT_TEST" and description in line with what you have used for the other templates. and then select your Design, Finishes, M&E, Door and Assembly templates from the drop down menu. This groups all of the information together as a room type, which can now be applied quickly and easily to the rooms in your project.

You'll see some fields such as Standard Room Name, Required Area, Room Category etc... which relate to standard information. At this point you might be thinking "doesn't this information come from the Schedule of Accommodation that I imported?"

It certainly should do, however, the SofA may have contained subtle variations to room names, for rooms that are in essence identical but exist in different departments. It might also be useful to apply a standard Room Label to the Room Type, which can then be used for tagging in certain scale drawings (1:100 or 1:50) where the full room name takes up too much space.

Once you have created a Room Type template, applying it to a room is easy. You can do this by opening the Room Editor window and in the Room Information tab, pick the desired template from the drop down list in the Room Type field.

To assign Room Type templates to many rooms quickly the best way to do this (two clicks) is in the Room Properties window, selected from the Control Centre. This will give you a list of the rooms in your project, which you can sort by department, or by room name etc... and then go through the list applying the room type templates from the drop down menu.

The above method is the standard way to create Room Types i.e. as individual templates, another option is to enter all of your information within room editor (green) and then from the Room Information Tab select the "Room>Make Room Type" option. This is a very powerful function as it gives you the ability to create room types very quickly, from room specific values, or even from a mix of templates and room specific values.

You'll get the option of creating new templates or updating existing - AND AN IMPORTANT POINT TO HIGHLIGHT - when editing templates, is knowing which rooms have the template assigned that you're about to update.

Generally Templates will form a project wide standard or perhaps a departmental standard, which should be reflected within the code & description, however to double check run a usage report from the Data Templates editor. (File>Usage Report)

You should always use meaningful, logical and succinct codes for templates, with standard prefixes for template codes and names. The CodeBook standard for design issues templates is to use the prefix DS_xxx, finishes templates = FN_xxx, M&E templates = ME_xxx, Doors = D_xxx, Assemblies = AS_xxx and last but not least Room Types start with RT_xxx.

The xxx should be consistent across each of the templates making it straightforward to group them together and easy to differentiate with other templates.

Strategy is very important - take time to consider your approach, where possible keep it simple and make sure this has been communicated between the team. Depending on the size of the project, it may even be prudent to have a single person act as the "gatekeeper" for these templates.

Hopefully this post will help you understand the power of Room Types, its one close to my own heart, as I suggested them to Peter many, many moons ago.

In typical fashion I had a new build waiting in my inbox a day or two later and was able to utilize them straight away on my project saving hours, if not days of work.

Make it happen.

Wednesday, 11 July 2012

It's the little things that count...

Sorry for the rather lengthy delay between posts, it's been a busy few months on many fronts and I've now got to play catchup! There's been a significant amount of development by CBI over the last few months so there's lots to blog about over the next few weeks!

I've just finished putting the latest release of CodeBook (26.05.2012) through it's paces and have been very impressed with some great new functionality and lots of small enhancements that have been made. These little tweaks will save a mouse click here and there, simplify processes and make day to day work just that little bit easier - which is what this post focusses on.

I spoke with Peter about the release and he said that during the last few months they have looked at introducing new "game changing" functionality, such as the mobile tablet version, taking full advantage of the improved Revit API which will now allow CodeBook to generate c-sheets (currently beta testing) but also working through the user-based-wish-list i.e. all those little requests we've been emailing support about.

The first enhancement I came across involves Lookups Editor, which now includes several new Categories that can be edited - Equipment Library Info, Equipment Asset Info and Equipment Asset Data.

Ever wished you could rename some of the default Equipment Library fieldnames? Well now you can and whilst CodeBook has always been highly customizable, this demonstrates a greater maturity in the userbase and responds to the needs of the different geographic regions using CodeBook.

Equipment Asset Info and Equipment Asset Data, relate to several areas which also can be renamed - the BIM interface fields, some relate to FF&E positional data and some to the Facilities Management realm - all of which provide the ability to respond to even the most whimsical of client requests!

One to highlight is the CodeBook Asset guid, which enables each FF&E item within the building to be given a unique asset based identifier which is increasingly being requested on projects. Procurement, assigning barcodes, QR codes, asset tracking and management etc... all rely on this.

Next up is the Revision Editor, which allows you to manage revisions more easily across a project, especially when there is a staggered programme and departments with different revisions to manage.

Within the Equipment Library it is now possible to provide an Alternative BIM name. Typically you would have single Revit family|Type associated with a single equipment record within the CodeBook Library - but it is now possible to link to multiple families or family types to a single equipment record in CodeBook.

I think this is aimed at slightly more experienced Revit users and I'd suggest carefully thinking through how you wish to use this. One specific application of this for Health Projects in NSW, Australia would be to link multiple family types of different sizes (e.g. desks) to a single CodeBook equipment record and single HFBS code. The Health Facility Briefing System groups many items under a single code, yet during the user review process when planning and modifying room layouts, different sized desks are specified. So these family types can now all be linked to the same equipment record.

Whether you SHOULD group them together regardless of size is another matter and whether you need to provide a comprehenive schedule should also be considered - the functionality is there, but my advice would be to use sparingly.

Get location using BIM Pick/Hit can be used to find out the coordinate information for a piece of equipment along with the headline data (code, description etc...)

Once selected in CodeBook, click on the Revit family and the info will appear in a small window.

There are several enhancements within the Equipment Library - Find Using Query now includes a NOT button, so you can search / filter even more precisely. For example you might want to search *stainless* to get a list of stainless steel benchtops, but you might not want to include those with a lipped edge, so you'd simply type in *lipped* and tick the Not button.

The equipment library is sorted by equipment code, but there is now an option to switch the sort order to Sort by Description. Which of the two you use is a personal preference, but now you can easily change between them.

Two questions that I'm often asked are "How can we permanently delete equipment from the library?" and "How do I know if I have duplicate equipment codes?" There are now two functions available that do these tasks, Purge Equipment Library and Ensure equipment codes are unique.

Both are useful, but should be used sparingly - for example, if you have just hidden several equipment items, give it a week before Purging the Equipment Library. Purging permanently removes the equipment, so if you've hidden an item by mistake you can't get it back (through using the unhide items function).

Two very welcome additions to Project Explorer are Insert New Department and Insert New Floor. In the past you had to close Project Explorer, open the Department or Floor Properties, create the new department or floor, close the properties window and open Project Explorer again. It might seem small, but this will save some to-ing and fro-ing in the early stages of a project.

Room Editor has some functions that have been revised, Synchronise a (individual) Room and Remove BIM link used to require clicking on the Revit Room that you wanted to synch or remove the link to. Now you don't need to click on the Revit Room.

Show Properties within Room Editor, now expands the room editor window, as opposed to opening a separate properties window. I prefer this format from a workability perspective and it means there is one less window to worry about. You'll also notice from the image below that the Required and Designed equipment are grouped together by code where you have more than one item. You can expand this if you need to carry out a task on a individual item, but again I prefer the format and it means you don't have to count up on screen how many items you have in total.

Adding, Removing and Substituting equipment items now has the ability to create a list of add/omits/substitutions which can be applied to individual rooms, or all the rooms in a department or all the room in the project. This will certainly help make global modifications a bit easier, but I think the most value will be when making department based changes.

Update Designed Equipment Lists now has two additional options. Use graphics centroid means that CodeBook will calculate this from the family extents when updating equipment lists, rather than using the origin point specified when you built the family. Also CodeBook can now pickup on the Phase data, should you have equipment placed on multiple project phases.

There are two major new functions that have been added - Task on Selected Rooms and Set worksets - but these are both quite large topics and deserve a detailed explanation, so I'll cover these in a subsequent post.

So all of that should save you a few clicks per day and hopefully you found the post useful, any requests feel free to email me.

Wednesday, 14 March 2012

Clarity in the sea of BIM complexity

Many CodeBook users gained their experience using CodeBook with 2D software such as AutoCAD, Microstation etc... and making the transition from 'flatland' to BIM not only requires learning new CAD software, it also requires a fundamental shift in thinking and update in how you use CodeBook.

In this post I'll cover some theory, planning principles, standards and technical elements - hopefully addressing some of the questions surrounding how we used to work in CodeBook 2.5D and how we now work in the BIM world.

Historically 'CodeBook Equipment' would consist of blocks/cells that were linked to the CodeBook library database containing the code, description, group, class and numerous other properties.

Stretching items, such as benchtops, would be driven from CodeBook as would equipment fixing heights. Typically you would 'load' all of the equipment @ FFL and specify the fixing height in CodeBook, so that when you created c-sheets, or room elevations, the front or side elevation of equipment would show the bench at the correct height.

This functionality hasn't really changed in CodeBook, but how this works in the BIM environment vs CAD flatland has changed. We no longer load flat graphical repesentations of equipment @ FFL, instead we load 3-dimensional objects @ the correct fix height, so that they instantly look accurate when viewed in elevation or 3D. Additionally, equipment is often stretched directly within the Revit or Archicad interface by updating parameters / properties.

So what does this mean from a CodeBook perspective? Well, we should still correctly define this information within CodeBook, however the control of these parameters/properties may be driven by the BIM platform and so we need to consider this in how we create our family/GDL objects and also map the fields in CodeBook to the corresponding parameter/properties.

Taking the example of a benchtop, generally you'll have a set number of types based on material, depth and thickness, but the fix height and width will vary from room to room. Within the Revit family, you'll draw an extrusion of the size / shape you require and enable the control of the width (image_1) and fix height (image_2) through assigning a parameter to a dimension and locking to a reference plane.



Recording / controlling these correctly in CodeBook requires mapping these equipment parameters within the project properties > administrator > cad and bim settings (image_3), plus project properties > administrator > define parameter mapping > equipment parameter mapping (image_4)



Configuring and mapping this data ensures that when you link equipment graphics in your library and also update designed equipment from your project, the correct values are recorded within CodeBook. There is another consideration you need to make - do you want to report the stretched size, or default size? In order to report the stretch size, you need to tick the checkbox 'output the sizes of items or stretched sizes from bim to reports' under Equipment library > Details > Options (image_5)


You can control fixing heights through CodeBook, by defining the fix height value in the CodeBook library, constructing your Revit family so that the fix height parameter is locked to the reference plane (top of bench) and mapping this parameter in CodeBook as described above. It is also possible (and perhaps more common practice) to control this in Revit, in which case you should select to 'place equipment blocks with a z height of zero' - which means that the fix height is determined by what you've defined in your Revit family.

Think about it this way - specify the fix height in your Revit family by locking the parameter to the reference plane, specify the fix height value in Revit and tick the 'place equipment block with a z height of zero'. CodeBook then ignores the value it has in the CodeBook Library and uses the default value you've specified in your family.

If you lock the parameter to the reference plane and specify the fix height to be zero in your family, leave the 'place equipment block with a z height of zero' unticked and CodeBook will insert the family using the fix height specified in your CodeBook library.

Controlling such parameters through CodeBook or directly in the BIM platform is a decision each practice needs to make individually - CodeBook can work with this whichever you choose.

Utilizing family types, graphical visibility options and the ability to stretch equipment are all technical Revit family options readily available. Practical considerations relating to modular sized items, construction and procurement though are often forgotten in the sea of BIM complexity. Just because you can embed complex functionality within your Revit families, doesn't necessarily mean that you should.

A classic example of this relates to cabinetry - you could create an adaptive Revit family that allows you to freely adjust the size, shape, material, shelving etc... but this freedom doesn't take into account key construction considerations. Building contractors and cabinet manufacturers will not want to custom make every cupboard on site, rather they will have a stock set of modular sizes they will use and so discreet family types based on these modular sizes is generally the preferred option.

When handing over a BIM model to the client, there is a requirement to have order and structure within the model, so that the procurement, fabrication and installation of equipment and furniture can be managed effectively. This is partly covered by IFC standards and partly by COBie, but the fundamental question you should be asking yourself is what do we need to design, how is it constructed and whether the item in question is a prefabricated modular item that should be based on what is available in the marketplace?

Having FF&E practice standards, based on building code compliance and market availability are where synergies across projects, studios or even geographic regions are gained - which ultimately lead to fewer defects, RFI's and greater profit on jobs.

Clarity of thought, for where Design and Innovation in best focussed and should be applied to projects is common sense that is not always common knowledge.

Understanding the downstream requirements of the contractor and client are considerations that need to be applied during the design phase, software doesn't do this for you. The "BIM enlightened" integrate these considerations early on, so that software can make the documentation and scheduling of complex building easier.

Make it happen...

Thursday, 23 February 2012

The CAD hangover vs BIM karma

I'm quite lucky really... I work in a highly creative environment, with thought leaders, technical innovators and have a boss who really understands BIM, whilst allowing me the freedom to look at how we can do it better.

BIM implementation is largely a cultural thing in my opinion - back in the "good ol CAD drafting days" people focused exclusively on the plan, detail or section they were producing that day. BIM karma forces us to consider how we build it and what the guy sat nextdoor is working on tomorrow?

In the "flatland" 2D CAD days, we documented things in a prosaic, manually intensive way, trying desperately to coordinate drawings, packages - invariably with little recognition from clients of the effort required to make this happen.

In 2012, we have the tools available to automate these historic pipe dreams and get technology to work for us... for a change. Some of these tools have been around for a while, but generally by exception rather than as a rule.

CodeBook is a highly detailed program and when combined with Revit it can provide miraculous results - BUT - there are some basics that are often overlooked in the new world of BIM complexity.

Understanding what information you already have available to you, not re-inventing the wheel and making the most of that data is regularly forgotten when creating deliverables and "getting drawings out."

I'm an ardent believer in NOT duplicating information, but knowing how to extract and how to make the best use of the data available, in the right medium, is a skill that often comes with a high premium.

Going back to grass roots, reminding you of what you may already know and the information already available to you is the purpose of this "serendipity-esq" post.

Room information and room data stored within your CodeBook database is ready and waiting for you to utilisse within the CodeBook Reports. Most people know what is contained within a Room Data Sheet, but may not realise that this information can be pushed into your BIM model, or extracted through a report.

A room data sheet typically consists of:
_design data - the function of the room, the occupancy, hours of operation etc...
_finishes - floor, wall, ceiling, doors, internal glazing etc...
_environmental conditions - temperature, HVAC, hepa filtration, lighting lux levels, UPS, etc...
_equipment - furniture, equipment and services

...and whilst we report these conclusively in a Room Data Sheet, they can be extracted individually for architectural reasons and to aid in coordination with other disciplines.

The CodeBook reporting function has a number of pre-defined reports, but also several that can be configured or customised to provide whatever you may need through the report settings.

For example, if you wanted to extract the acoustic data, floor finishes, or lighting lux levels to send to a consultant for coordination - you can create a Room Data (xls) report specific to that data.

The way you do this is to select a Room Data (xls) report and in the report settings pick (through tick boxes) the information you require. These are categorised in sections - Room Information, Design, Finishes, Equipment and M+E - first you choose which section you require and then select the fields within these Categories that you wish to report.

For example = choose the Design section and tick the box for Occupancy - CodeBook will produce a report restricted to that information, which can then be emailed to the Services Engineer for checking.

An alternative to excel is to map this data in CodeBook to a corresponding Revit Room Parameter and provide the Services Engineer with a colour scheme drawing that shows each rooms Occupancy values by colour.

In practice you may wish to choose more data than this to send to your services consultant, but individual parameters may be useful, especially when represented in the context of the building through a colour themed view.

The "BIM karma" mentality involves recording information correctly once and then utilising it many scenarios.

Make it happen.

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!