Editing Revit setup for OpenBIM/Revit and IFC classes

From Wiki.OSArch

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 153: Line 153:
 
|}
 
|}
  
==Rule 2: Check for a manually overridden parameter that exists in the family itself ==
+
==Rule 2: Check for a manually overridden instance parameter ==
 
 
In the next rules, we will talk about overriding parameters. Typically these are defined in your project, but if you have this parameter defined not as a project parameter but as a family parameter, then this will take precedence and the value set in the family will determine what it is exported as.
 
 
 
This can lead to very troublesome fixes, where you have set the IfcExportAs parameter throughout your project, but the exporter will still ignore it and follow your family parameters overrides, which cannot be scheduled. This involves a very painful process where you need to go through each family and press "Edit Family" and fix them one by one.
 
 
 
If you do not have any parameters in your family definition, please keep reading.
 
 
 
==Rule 3: Check for a manually overridden instance parameter ==
 
  
 
The IFC export class can be overridden on a per instance basis. To do this, parameters need to be created and assigned to instances. A shared parameter file with these parameters is provided in the [[Revit setup]] page. If none of these parameters are present, proceed to rule 3.
 
The IFC export class can be overridden on a per instance basis. To do this, parameters need to be created and assigned to instances. A shared parameter file with these parameters is provided in the [[Revit setup]] page. If none of these parameters are present, proceed to rule 3.
Line 187: Line 179:
 
|}
 
|}
  
==Rule 4: Check for a manually overridden type parameter ==
+
==Rule 3: Check for a manually overridden type parameter ==
  
 
You can also override by Revit type. Note that the parameters below only work if you are using a recent version of the exporter, so please update as recommended in the [[Revit setup]], as some out of the box exporters have a bug which prevent these parameters from working. If none of these parameters exist, proceed to rule 4.
 
You can also override by Revit type. Note that the parameters below only work if you are using a recent version of the exporter, so please update as recommended in the [[Revit setup]], as some out of the box exporters have a bug which prevent these parameters from working. If none of these parameters exist, proceed to rule 4.
Line 213: Line 205:
 
|}
 
|}
  
==Rule 5: Check if it is part of a furniture group==
+
==Rule 4: Check if it is part of a furniture group==
  
 
If the element is contained within a Revit group that is to be exported as an <code>IfcFurniture</code>, it is always exported into an <code>IfcSystemFurnitureElement</code>. If this is not the case, proceed to rule 5.
 
If the element is contained within a Revit group that is to be exported as an <code>IfcFurniture</code>, it is always exported into an <code>IfcSystemFurnitureElement</code>. If this is not the case, proceed to rule 5.
  
==Rule 6: Check IFC class mappings table==
+
==Rule 5: Check IFC class mappings table==
  
 
Revit offers a mapping table from Revit category (and subcategory) to IFC class and IFC Predefined Type. You can manually access this by going to <code>File > Export > Options > IFC Options</code>. You can save and load these settings. After this rule is applied, proceed to rule 6.
 
Revit offers a mapping table from Revit category (and subcategory) to IFC class and IFC Predefined Type. You can manually access this by going to <code>File > Export > Options > IFC Options</code>. You can save and load these settings. After this rule is applied, proceed to rule 6.
Line 223: Line 215:
 
Out of the box, there are many shortcomings to the IFC class mappings table. OSArch provides an improved default set of IFC class mappings in the [[Revit setup]] page, and describes what the improvements are.
 
Out of the box, there are many shortcomings to the IFC class mappings table. OSArch provides an improved default set of IFC class mappings in the [[Revit setup]] page, and describes what the improvements are.
  
==Rule 7: Set blank predefined types to UNDEFINED==
+
==Rule 6: Set blank predefined types to UNDEFINED==
  
 
If the predefined type cannot be determined after the rules so far, it is set to <code>UNDEFINED</code>.
 
If the predefined type cannot be determined after the rules so far, it is set to <code>UNDEFINED</code>.
Line 229: Line 221:
 
If after all these rules, the IFC class is still unknown, or is an <code>IfcBuildingElementProxy</code> or <code>IfcBuildingELementProxyType</code>, then proceed to rule 7.
 
If after all these rules, the IFC class is still unknown, or is an <code>IfcBuildingElementProxy</code> or <code>IfcBuildingELementProxyType</code>, then proceed to rule 7.
  
==Rule 8: Check for particular hardcoded structural types==
+
==Rule 7: Check for particular hardcoded structural types==
  
 
This rule only applies if the IFC class is still undetermined, or if it has determined the class to be an <code>IfcBuildingElementProxy</code> or <code>IfcBuildingELementProxyType</code>. This means that even if you wanted the object to be a <code>IfcBuildingElementProxy</code> or <code>IfcBuildingELementProxyType</code>, there is still a chance that Revit will ignore the instruction and override it at the last moment. This only applies to structural type families, where certain types will export as a particular type.
 
This rule only applies if the IFC class is still undetermined, or if it has determined the class to be an <code>IfcBuildingElementProxy</code> or <code>IfcBuildingELementProxyType</code>. This means that even if you wanted the object to be a <code>IfcBuildingElementProxy</code> or <code>IfcBuildingELementProxyType</code>, there is still a chance that Revit will ignore the instruction and override it at the last moment. This only applies to structural type families, where certain types will export as a particular type.

Please note that all contributions to Wiki.OSArch are considered to be released under the Creative Commons Attribution-ShareAlike (see Wiki.OSArch:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)