Personal tools
You are here: Home / Implementation / IFC4 impl guidance

IFC4 impl guidance summary

Beside working on the IFC specification development, the buildingSMART Model Support Group also supports the IFC implementation work by providing guidelines, tutorials and examples. In collaboration with software implementers, organized in the buildingSMART Implementation Support Group, MSG also publishes implementation agreements and offers implementation issue resolution.

IFC implementation support material is also provided by others, see, and particularly the developer page, for more information.


Basic Knowledge

If you are new to IFC implementation it is relevant to read some background and generic information about IFC in Basic IFC knowledge. This basic knowledge is independent of the particular IFC release.

If you are mainly interested in the differences between IFC2x3 and IFC look here.


Helpful tools

Everybody that is implementing IFC needs some kind of parser to retrieve and/or generate IFC content. Developing such parsers keeping performance when files grow in size can take a lot of time, but there are good solutions that away this effort in the form of Toolboxes.


Helpful viewers

To view geometry as well as properties and relations within IFC files it is not needed to use a CAD or other commercial software package. Several vendors have free IFC viewers available


IFC4 compared to IFC2x3

Using IFC2x3 files in an IFC4 implementation environment and vise versa requires particular care. This is discussed here.


Model View Definition

Especially when implementing IFC it is important to understand the concept and restrictions of the Model View Definition you want to support. Model View Definitions for the upcoming IFC4 release are yet to be formalized.



As with any implementation task, work by example helps understand the work that has to be done and what should be done. The Model Support Group offers examples as well as example code that can be used for this purpose. All source code is free to be used and changed for commercial and non-commercial purposes (the used toolbox is only free in non-commercial projects but also can be exchanged with other toolboxes).