FreeMVD_Mirror/BIM Specifications.md

9.5 KiB

BIM Specifications

Originally elaborated by OpeningDesign / Ryan Schultz / Yorik van Havre and licensed under CreativeCommons. Feel free to use, distribute or contribute to improve the process.

Foreword

This BIM specification, unlike most other BIM specifications available, is based on real-life, tested methods to get the job done and guarantee as much as possible the primary aim of BIM--real collaboration between the different actors of a building project.

This specification consists of simple rules to guarantee a maximum of fidelity in data transfers using the IFC file format. The following rules work with any version of the IFC schema.

The correct implementation of these rules implies a good understanding of the IFC format, and ways to verify the contents of IFC files others than in the software where it was authored. Several free or open-source applications allow to open, visualize and inspect IFC files and make sure that the rules below were correctly implemented.


Rules


**Model Lines: ** Lines in 3-dimensional space

Platform Native Functionality Import Export
FreeCAD x x x
Revit Model Lines PASSES - Name, Color, & Pattern, FAILS - Weight Had to use an MVD that supports the export of lines (Coordination View 2.0 does not)
ArchiCAD x x x

Test folder: [Model Lines](Specifications test files/Model Lines)


Wall

Platform Native Functionality Import Export
FreeCAD x x x
Revit Walls from FreeCAD, the wall imports as a in-place family, that is, not an intelligent wall Yes
ArchiCAD x x x

Test folder: [Wall](Specifications test files/Wall)


Name and Description: All objects and materials should have a human-readable name or description

Objects should have a name that allows a human being to understand what it is, in case the software that reads the IFC file fails to recognize or categorize it appropriately. For example, bad names are "Object00014", "Material43". Good names are "Kitchen chair", "Grey concrete", "East living room wall"

All IFC objects have a Name and a Description. Any of them can be used for this purpose.

This rule mainly applies to IfcProduct entities in IFC: They are the final, individual objects that compose a building. For example, a wall, a column, a chair, a window. It doesn't consider objects that are part of a final product, when they are composed of multiple objects, for example a leg of a chair or a brick of a wall. It is sufficient to have the chair correctly named, not necessarily each component of the chair.

Platform Native Functionality Import Export
FreeCAD Label property (all FreeCAD objects), Description property (only Arch objects) IFC name translated to FreeCAD object label ('My test wall'), IFC description ('This is a test wall to check rule number one') imported into FreeCAD object description if available FreeCAD object label exported as IFC name, FreeCAD object description, if present, exported as IFC description
Revit ??? Upon import, name and description is not accessible to modify from Revit UI. see Screenshots [1](Specifications test files/wall_with_name_and_description/Revit Properties_1.png) & [2](Specifications test files/wall_with_name_and_description/Revit Properties_2.png) Name and description exports out correctly.
ArchiCAD ??? ??? ???

Test folder: [Name and Description](Specifications test files/Name and Description)

To do:

  • Check where name and description are stored in Revit, maybe that could be accessed by dynamo or something. See if Revit doesn't provide any alternative (different ways to "label" objects)

Nested Groups: All objects should be grouped in meaningful ways

Grouping objects using IfcGroups allows a human being to clearly recognize objects as being part of a same area, funcion or category. Groups can be nested inside other groups. A same object cannot be part of several groups.

Platform Native Functionality Import Export
FreeCAD Groups IFC groups translated to FreeCAD groups. Nesting is respected. FreeCAD groups are exported to IFC groups, but groups are not part of IfcBuildingStoreys (Problem: IfcGroups cannot be nested into IfcBuildingStoreys)
Revit Groups of Elements Does not import IFCgroups into Revit Groups Yes, exports #253= IFCGROUP('2wfBgyl9H71872FVeaZPs0',#41,'Model Group:Test Revit Group:149951',$,'Model Group:Test Revit Group');
ArchiCAD ??? ??? ???

Test folder: [Nested Groups](Specifications test files/Nested Groups)

To do:

  • IFC offers two different "structures" to group and organize contents: space-related (Building->BuildingStorey->Zone->Space) and non-space-related (Group ). These two structures are fully independent and cannot be combined (you cannot add a group to a spatial structure element). Check if using IFC Groups is the most adequate form, and if it wouldn't be better to switch to a full space-related system.

Tools

Use free/open-source IFC applications to validate the data inside IFC files.

It is fundamental for the author of an IFC file to be fully aware of what has been included in that file. Therefore, it is essential to be able to vertify the contents of the file in a neutral manner (independent of the application that exported it). It should also be possible for other people to easily open that file, and verify its contents, independently of the application used to import it.

Items that should be checked on opening an IFC file for verification:

  • The application used for verification reports no error on opening the file
  • The total number of objects informed by the application used for verification matches the number of objects informed by the application used for exporting
  • All the geometry is there when inspecting the 3D model in the application used for verification
  • All the geometry is at its correct location when inspecting the 3D model in the application used for verification

To be developed:

  • For now the only reliable one I know that is open-source and cross-platform is IfcPlusPlus which does a fairly good job. If it prints no error, and all objects appear in place, it generally means the data is of very good quality. BimServer might become a perfect option once it has good data validation plugins. IfcPlusPlus doesn't support IfcAdvancedBrep (Still not checked with BimServer).

04. Use geometry types that makes objects editable in all applications

To be developed:

  • Some geometry types, although they import correctly in all applications, are sometimes not editable (the concept of what editable means needs to be developed as well). This item should identify the geometry types that are "safe".

To be tested:

  • Vertical (Z-axis) extrusions of any profile (straight/only lines, complex/curved, and predefined types)
  • Arbitrary (any direction) extrusions of any profile
  • Booleans (unions, differences, intersections)
  • Faceted Brep shapes
  • Advanced Brep shapes