Contributor
Martina Jakubowska

Create visual programming nodes for generating BIM data with IfcSverchok


Mentors
Thomas Krijnen, Moult
Organization
BRL-CAD
Technologies
python, blender, Sverchok, IfcOpenShell
Topics
architecture, IFC, BlenderBIM, BIM, Parametric, IfcSverchok
Industry Foundation Class (IFC) is the leading open data format for the built environment, based on the ISO 16739-1:2018 standard. It’s the foundation of the openBIM workflow. Today, IFC is most often used as a software-agnostic way of exchanging building information, but there is increasing interest in using the IFC schema as the native format for working with BIM data. Blender, with its mature modelling and rendering capabilities, has the potential to become a powerful BIM authoring tool. Open data and integrated python console already give many options for customising the data and meta data of any geometric object. The BlenderBIM plugin introduces the possibility to assign the properties of IFC classes to native blender geometry and export correctly structured IFC files through the use of the IfcOpenShell software library that already contains many useful functions to work with the IFC schema. The goal of this project is to develop a plugin for the visual scripting language for Blender, Sverchok, that would enable creating IFC geometry and data through the visual programming nodes, allowing the users to create their own parametric workflows and incorporate IFC data directly into their design process. An equivalent plugin for Sverchok, would allow an integrated parametric design and native IFC workflow to be completed fully inside the FOSS environment. It would also be a strong foundation for integrations with other Building Performance Simulations (BPS) tools. Integration and porting of the nodes to FreeCAD would also be possible. Some of the basic nodes are already coded under the IfcSverchok project. The work will involve testing the existing nodes and writing many more to support the full use case. Since the IFC schema is very large, and often difficult to grasp for new users, emphasis will be on integrating the concepts of IFC into a typical design process in a natural manner and communicating the relevant information comprehensively to the user.