COBie Doors, Assemblies and Ironmongery

In the management of buildings, door faults and damage are fairly high on the maintenance list. Immediate repairs will normally be expedited and materials and labour costs will be billed. In many cases the parts will be different because the maintenance process goes through a purchase procurement and the replacement part may be more expensive than a readily accessible alternative. What many people may not be aware of is the warranty periods for high quality parts can be from 10 to 25 years and this expense could have been avoided. Knowledge of the building is fundamental and getting this information into a form for the building owner to access can only happen if the these sorts of schedules of items are captured and properly recorded.

The view that BIM geometry models will contain all the information does not match the practicality of information collation. Door ironmongery will invariably not be modelled and the product information will normally be provided by the supplier of ironmongery in the form of a schedule.

The logical solution would be to get the supplier to provide the information in a COBie spread sheet.

To do this an understanding of the Cobie.Type and Cobie.Assembly sheets is required. There are some ambiguous field names and 2 methods of providing the information.

The Cobie.Assembly Sheet can be used for any of the other entities (sheets) and is done by using the sheet reference in Cobie.Assembly.SheetName.

The easy exercise is adding all the parts to the Cobie.Type sheet where every item is identified along with its Category, which will be the relevant classification system.

In addition to each item a Type for each ironmongery pack will need to be created. We do this here because the Assembly may have a different supplier to those of the parts in the assembly and have over riding warranty and maintenance.

Doors represent a complex Assembly. A Door Type will have instances, components, and reference an Ironmongery pack from that instance to another entry in the assembly sheet.

If the Ironmongery set has come from an IFC it is most likely that the ironmongery is an attribute of the Door instance in the Component Sheet. To resolve this to an assembly of ironmongery types the client system would have to specifically know to resolve this on the attribute name. It will not be standard but a hack.

The Cobie.Assembly sheet ChildNames means that there are 2 ways of defining the types that make up an assembly.

The 1st method is to create an Assembly with multiple records for each Type Item. The 2nd method is to create a string of Cobie.Type.Name. Where ever you see pluralisation of a Field Name in COBie it means you can choose either method or mix them. All COBie importer parsers should include a test of that type of field eg. This is how I parse the record.

In COBie the comma in a plural field cell represents an delimiter of entries. If you are putting together Cobie data make sure you NEVER use a comma in a key field.
if (c.ChildNames.IndexOf(“,”) != -1) // This is a string of children if true there are multiple records
string[] s = c.ChildNames.Split(‘,’);
foreach (string childName in s)
/* add each items */
} else {
/* it’s one childname per row */

If it is one ChildName per row then in order to know which Assembly it belongs to then Assembly name stays the same.

Within Ironmongery packs there are multiple instance of the same item such as hinges. To capture this the ChildNames string will need to include multiple entries and for on item per row the record needs to be repeated for the number of instances.

In our COBie Database we have a collection table for every sheet that has entities can contain multiple instances. For example







In summary a Supplier need only fill in Cobie.Type, Cobie.Assembly, Cobie.Component.

Door Ironmongery suppliers are more than willing to help produce data. They should have the IT ability to create COBie.

Here is an illustration of how that all works on one of the sample Revit projects. I’ve kept this simple for clarity

31-10-2015 07-54-03

I’ve added types for the door furniture parts and then created a type which is an assembly.

31-10-2015 08-02-58

31-10-2015 08-04-05

Then is it a matter of associating an instance of a type to the assembly. All this can be seen in the Assembly Sheet.

31-10-2015 07-58-14

In our application you can easily create Assemblies and we add the Quantity. When the COBie is outputted it adds multiple references in ChildNames to get quantities.

I’ve tested exporting the COBie from our application then created a new project on another machine running the application and imported it, works perfectly. Here is the exported COBie sheet. Still some things to sort out but it shows it is all possible COBie-Basic Sample House Project-EXPORT

One day you will be able to send a COBie file to a supplier and get back a Cobie file with all the information correct and attributed to the authoritative source.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s