Presenting Blender as a new IFC authoring tool

I’d like to present Blender, the heavyweight 3D CG suite, to be used as a free and open-source BIM authoring tool to add to suite of tools out there. It is part of IfcOpenShell and developed here:

It is relatively brand new in its ability to write IFC files, but Blender has been able to read IFC files for a while now, also part of IfcOpenShell. It is still under heavy development, so it is not expected for use by end-users yet, but for those who are willing to give it a shot, it already has many interesting features, such as:

  • Supports writing IFC4 files first and foremost.
  • Lots of clever reuse of representations to create efficient and small IFC files and you have full control over exactly how you optimise the IFC file, including generating products from parametric arrays and object group instances
  • Supports the spatial tree including multiple buildings, multiple sites, and so on
  • Create product compositions including extremely granular breakdowns
  • Create project libraries, not just projects
  • Quantity take-off calculations
  • Property sets
  • Modeling abilities are completely separate from BIM data. In contrast to other tools where the type of object governs how you can model it, in Blender it is totally separate and you can instantly convert an object from one type to another, change its aggregation, change its spatial location such as changing floors, etc without any fear or breaking your model
  • Export with/without quantities, or with/without representations (hint: an export without geometry retains all of the useful BIM data but is extremely fast to export, and creates a tiny IFC filesize!)
  • Blender’s native Python API allows you to script it heavily doing bulk IFC data management very easily
  • Obviously you get immediate access to all of Blender’s amazing features like modeling in real-time rendered view like a game engine. Beautiful visuals. Animation. File linking. Proxy objects. Virtual reality. Light simulation, CFD analysis, energy modeling. Huge ecosystem of addons. The list just goes on and on.

You can see the created model here in IfcOpenShell’s cross-platform IFC viewer:

If any early adopters are willing to start battle testing it, let’s go!

14 Likes

Is this comparable with the workflows in SketchUp, BricsCAD or FreeCAD? E.g. complete geometric freedom in modelling and worrying about mapping to IFC whenever deemed appropriate via a classification mechanism?
So any modelled geometry can become (almost?) any IFC class & type.

Current versions of ARCHICAD and Revit move a bit in that direction too: e.g. ARCHICAD morph, shell, object are generic anyway. And the reliance on their native category is replaced with the mapping via classification (which is closely/fully aligned to IFC). So a wall can become something else if you insist.
And in Revit, you are (a bit) less limited on the native Revit Category via IfcExportAs override (if you know the limitations).

Blender has something that other software don’t

It can be a model designer, it can be a project management software (4D, 5D), it can be building engineering software, it can be rendering and animation software, it can be XR software, it can be or have “data/information” workflow, it can be automation and control software, it can be simulation software, it can be parametric design software, it can be?

@stefkeB yes, geometry is totally decoupled from BIM data. Representations can exist, be reused between multiple data blocks, or excluded.

Yes, it is the way forward, and clearly the bigger vendors have noticed it too and are trying to modify their software to suit. It is starting to be possible, but each has their own quirks and I don’t know of any which has truly achieved true decoupling.

I like the thought. Geometry should be complete free from any structure or object definition! This is the way forward for civil structures also! There are just way to many names and variables for defining rigid schemes. Gives bimdatabase warriors control of definitions, but let modellers and designers model (sourly 3d geometry and unbound). Forget about paramatric constraininh
So,Lets step back to primative cad modelling and boolean operations. Curious about your blender adventure!

L

2 Likes

great news :slight_smile:
i remember blender’s first version 1.5 still back in 1998, as it came public, and free from the notanumber dutch company. in the meantime ton rosendaal managed to have it fully public under foundation.

i regarded it as a competitor for maya, softimage, and 3dsmax at that time, but apparently they have acquired more parametric options. do they have a construction material capability now? and how about material composites (e.g. ventilated facade systems)?

rob

The main issue is “topology”
This is why in IfcXtreme project I suggested “Break down IFC and reduce/delete not only IfcObjectDefinition, but also all general entities behind the main/end entity”

For instance: IfcWindow is just a solo entity in IFC schema and doesn’t have IfcObjectDefinition, IfcObject, IfcProduct, IfcElement, IfcBuildingElement

This is not just IFC’s issue, all other closed file formats and their schemas have the same vitally important issue

Hi Ehzan,

To flatten the structure of IFC scheme would be wonderful, for sure. When dealing with the MVD anyone can note that only the instanced elements are actually part of it and thus, the intrincated structure of inheritance between objects, and relationships make it difficult to gather information!

But how would you in order to transmit the inherited properties coming from the upper layers?

Let’s don’t say MVD idea and even IFC has failed, let’s say it’s under development, as today we see DTV and DTs (as Micro-MVDs)

Furthermore, the discipline-specific nature of most commercial BIM systems means that their internal data schemas are specific to the discipline they serve. When models are exported to the ISO 16739:2013 Industry Foundation Class (IFC) open file format (ISO, 2013), much of the semantics remain implicit, and thus inaccessible to generic model review systems which require explicitly defined parameters, aggregations, connections and other topological structures. (Belsky et al., 2016).

Even today we see researchers try to go out of IFC and MVD, especially in control systems, and use their own logic than the logic MVD provides!

I’m not only going to flatten the IFC schema but also am going to reduce useless entities, aggregations, connections, etc, and make IFC structure efficient and free. (This is just the half of the whole picture)

Today technologies, like Deep Learning - DL and Machine Learning - ML, are better than 20-30 years ago, so 20-30 years ago’s solutions are not useful today.

First of all, I don’t like the “Object-Oriented” approach of IFC (in the lower layer at least)
Second, I don’t like its dependency to its “DATA-MODELER”

Also, I don’t like: BIM = Data + Document + Geometry
I see BIM = Data + Information + Model

Data is data (Structured, Semi-Structured, and Unstructured) that I think the majority of data we see in (Digital) Built Environment Industry are structured, but current solutions give structured data as input and convert them as semi-structured data as output which is not good and efficient

Information is information, like Documents, Schedules, Specifications, Drawings, etc.

And Model is not just Geometry. The Model covers things more than Geometry, like Topology, Analytic Models, etc.

if we question everything, object-oriented approach is also old hat, data-driven design is the current status. but data needs an underlying semantics in order to be selected and identified immediately…

3 Likes

For sure, data and also information can have their own underlying semantics without dependency on their model and anytime needed can integrate them to their model

This is why we hear today some companies have started to decouple model from BIM data

Let me add another vitally important information which lead you what am I going to do?
IFC developed for desktop software, and simple systems, its “data-modeling-based” approach is not suite for “complex systems”
Also, it’s “static” but today we need “dynamic” solutions

According to my last comment:

https://www.linkedin.com/posts/bentley-systems_how-are-digital-twins-different-from-bim-activity-6576908168675368960-cUbg

I think there are some slight misunderstandings here - IFC since the very beginning had always decoupled geometry from BIM data. It was always fundamentally possible to model geometry with a whole variety of techniques, use them multiple times, or even have no shape at all, for any arbitrary BIM object. The fact that most authoring tools choose to limit your modeling based on the type of object has been purely an artificial vendor limitation.

That said, I thought I’d just update the thread with some of the new features since I originally posted:

  • Improved support of project libraries, so you can have multiple project libraries, and easily relate/unrelate them to projects
  • Property sets now detect data types from the property set templates, so you can define your own property set templates, and it will read them that to allow you to enter in data quickly. I am not aware of other vendors using property set templates, so this is exciting news!
  • Implement IFC georeferencing through map conversions and target CRS definitions. This makes three vendors that I am aware of that do this properly: ArchiCAD, FreeCAD, and now Blender.
  • Allow you to export 2D / 3D wireframe geometry, this allows some very efficient filesize savings where a full solid representation is not required.
  • Export basic material colours and rendering styles including transparency.
  • Allow export of an externally defined material, such as a .blend file, .vrmat file, or even .mat Radiance file for lighting simulation!
  • Units are no longer hardcoded, and now support different types of metric units which can be set through the Blender UI, so you can choose to work in metres, millimetres, etc.
  • Allow property sets to be assigned to types, and have object property sets override type property sets.
  • Some optimisations and bugfixes

Here is a cool little graphic showing the 2D representations / wireframe view support for a chair furniture:

1 Like

Thanks Dion, as always you’re in the right path.

Let me explain today issues related to “ISO 19650” and “Digital Twin(s)” which will give a better view about today and tomorrow

At the point firms start to implement ISO 19650 in their projects, the file sizes will increase because of Level of Information Need - LoIN

Also, Digital Twin(s), especially its Time Series (which we see Time Series in IFC4 ADD2 TC1 too) will cause the size of files increases even more

So, some have started to think about “data/information exchange” and find “efficient” ways:
We hear some whispers about “binary solutions”
We see some have started to focus on “decoupling strategy”

Early I saw Autodesk decreased the size of Navisworks file sizes about half.
I see Bentley Systems on SQLite Symposium these days, which I think is logical, Bentley System as a leader in the Infrastructure mainly uses CityGML I think and CityGML to SQL is a normal workflow
Also SQLite plays or will play a vital role in Internet of Things - IoT and some have focused on

I think today we need “dynamic solutions” and some have focused on this area

jeeez, what we’re striving for now is the right amount of information ‘coupled’ with ifc. decoupled and incoherent data we have more than enough :wink:

digital twin is an interesting concept, though. i’ve just spoken with one startup to utilise this here in poland…

We work on our international Smart-FM startup in residential buildings (and have to solve big big issues/obstacles, which we have done)

i can’t report that startup data (they asked me not to yet), but othewise i understand a digital twin to couple all possible data to the geometry representation of the physical object, especially self-updating one.

A few new features have been implemented:

  • Objects and types can now be associated with external documents, such as plans, brochures, specifications, warranties, etc.
  • Objects and types can now be classified using classifications such as Uniclass / Omniclass / anything you choose.
  • Objects and types can now record qualitative constraints in the form of objectives. This can help record design intentions and health and safety strategies, among other things like code compliance requirements.

An example of objectives is shown below:

Capture

1 Like

Some more features have been implemented:

  • Documents and classifications are related to the project itself.
  • Support for multiple representations are created. Previously, only a ‘Body’ representation was created. Now, you can add or remove multiple representations, some of which may be automatically generated from the ‘Body’ representation, and some which you have full custom control over their content. The supported representations are:
    • Body
    • Axis
    • Clearance
    • Footprint
    • Reference
    • Box
    • CoG
  • Although Blender has first-class support for manipulating breps, you can now choose to export simple extrusions of any angle (i.e. not necessarily normal to the profile curve) as a SweptSolid, giving the first steps towards supporting IFC roundtripping with programs like Revit which support these types of geometries but not other types.

An example of Blender and Revit IFC roundtripping is shown below. What is also shown (do you see extra shapes in the Revit screenshot?) is that Revit imports alternative representations that were authored in Blender. Revit doesn’t seem to have controls to manipulate them further, though, but at least the data is not lost.

3 Likes

but that means, referring to your previous comment, that “all possible data” begins, or may begin, as decoupled, and then can be coupled with a representation. Moult gives you control to assemble the data you want, the way you want (because it’s decoupled) and then coupling it as you wish with any representation.