Blender now supports IFC export

This forum section is only for IFC-related issues
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Blender now supports IFC export

Post by bernd »

:shock: wow awesome stuff ...

How about the clash detection? Is it part of ifcos or part of BlenderBIM? What is needed to run this? Could you give an example how it works?
paullee
Veteran
Posts: 5134
Joined: Wed May 04, 2016 3:58 pm

Re: Blender now supports IFC export

Post by paullee »

Thanks for the details.

Would like to see the detailed worflow !

Better still, a complete workflow with FC ! :)
User avatar
Moult
Posts: 321
Joined: Sat Jan 05, 2019 11:46 am
Contact:

Re: Blender now supports IFC export

Post by Moult »

I have been writing the code to be decoupled from Blender. That way 1) the utilities can be run headlessly by itself, direct from IFC, without need for Blender preprocessing on a BIM server, 2) the utilities, and their outputs can be shared by other projects like FreeCAD, XeoGL, and so on, and 3) More emphasis is placed on IFC as a native file format rather than a lossy output from a native format.

The IFC diff utility is a command line tool, but it requires a patched version of Python DeepDiff. It outputs JSON, so FreeCAD should be able to visualise IFC diffs as well. https://github.com/IfcOpenShell/IfcOpen ... rc/ifcdiff - the patched dependency is here https://github.com/Moult/deepdiff

The IFC clash utility is a command line tool too, but it requires fcl to be installed. I have not yet packaged this easily yet. If you know how to install it yourself, you can run it here https://github.com/IfcOpenShell/IfcOpen ... t/ifcclash - it is very easy to run via command line: just "ifcclash foo.ifc bar.ifc" and that's it. In the future I need to add more options like specifying clash filters (e.g. clash only IfcBeam with IfcFoo) or allowing to specify tolerances or limits on pipe dimensions, improved multi-file support, etc etc etc.

The IFC COBie extractor is also a command line tool, and has been packaged already. This simply takes IFC data from an IFC file and formats it in the COBie spreadsheet. This utility can work with any tool, including FreeCAD :) https://blenderbim.org/builds/

The BIM Tester tool is also command line tool, and lets you write unit tests for an IFC file. You can write things like "Element foo should be an IfcWall", or "Element bar should have a Fire Rating property set to 2HR", or "All IfcPipeSegment should be an IfcExtrudedAreaSolid or ..." etc etc. It is packaged already, but only as a test runner - a series of test files must also exist for this to be useful. I am in the process of launching a series of "MicroMVDS" which cover a bunch of use-cases for testing things you expect in IFC files. https://blenderbim.org/builds/

The construction documentation tool is also a command line tool, so you feed it an IFC file and it can cut it, and also do background cuts and output SVG with CSS. However, I have temporarily half-coupled it to Blender since it is quite complex, and to achieve greater efficiency (vector cuts are slow!) I use the Blender workbench rendering engine. However, I did originally design it to be run completely headlessly. When it matures I will package it as a standalone tool, so an IFC can be produced with FreeCAD along with a common representation for annotation, and then both FreeCAD and Blender can use it to generate docs, and docs can be published headlessly from a BIM server too :)

In short, everything is designed as a small standalone utility. I do, however, plan to package it into BlenderBIM along with a UI within Blender for those who are uncomfortable with CLI tools. It is still early days, so "using" these tools is not polished and slick yet, but it will come with time :) At least, I am able to use them on commercial projects now with real results!
I also blog about 3D rendering, architecture, software and other on thinkMoult.com. RSS / Atom feed available for your convenience.
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Blender now supports IFC export

Post by bernd »

very interesting stuff ...


IFC-file-checker:
Moult wrote: Fri Dec 20, 2019 7:36 am a series of "MicroMVDS" which cover a bunch of use-cases for testing things you expect in IFC files
How do you save these "MicroMVDS" ? Means what data modell do you use to save "All IfcPipeSegment should be an IfcExtrudedAreaSolid"


Clash detection:
Same here these are MicroMVDS too, just not for IFC file testing but for clash detection:
Moult wrote: Fri Dec 20, 2019 7:36 am clash only IfcBeam with IfcFoo)
How do you save this information for use in the clash detection.


IFC-file-serializer:
Same problem will exist on a serializer tool. One need to save what to serialize.


IMHO a similar data modell could be used for all these "MicroMVDS". But I do not have a glue yet how this is done best.
User avatar
bitacovir
Veteran
Posts: 1570
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Blender now supports IFC export

Post by bitacovir »

Hi. I just noticed this...
I have created these parts with FreeCAD and exported as IFC file.
The IFC file is opened correctly in IFC++ and FreeCAD, but not in BlenderBIM
parts.FCStd
(18.58 KiB) Downloaded 93 times
parts.ifc
(23.4 KiB) Downloaded 113 times
SimpleViewerExampleQt_vloVGvncyj.png
SimpleViewerExampleQt_vloVGvncyj.png (57.75 KiB) Viewed 2044 times
blender_FfpLaaycNB.png
blender_FfpLaaycNB.png (515.44 KiB) Viewed 2044 times
::bitacovir::
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)

Canal Youtube Grupo Telegram de FreeCAD Español

My personal web site
My GitHub repository
Mini Airflow Tunnel Project
User avatar
Moult
Posts: 321
Joined: Sat Jan 05, 2019 11:46 am
Contact:

Re: Blender now supports IFC export

Post by Moult »

Thanks for the report bitacovir!

This issue was fixed on the 31st Dec from this commit. The fix will be available in the next release of BlenderBIM.

I noticed that XBim has the same issue. I think there is a deeper issue here to investigate, but I'm not sure what yet :)
Capture.PNG
Capture.PNG (165.02 KiB) Viewed 2033 times
I also blog about 3D rendering, architecture, software and other on thinkMoult.com. RSS / Atom feed available for your convenience.
User avatar
bernd
Veteran
Posts: 12851
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Blender now supports IFC export

Post by bernd »

bernd wrote: Fri Dec 20, 2019 11:51 am IFC-file-checker:
Moult wrote: Fri Dec 20, 2019 7:36 am a series of "MicroMVDS" which cover a bunch of use-cases for testing things you expect in IFC files
How do you save these "MicroMVDS" ? Means what data modell do you use to save "All IfcPipeSegment should be an IfcExtrudedAreaSolid"

Clash detection:
Same here these are MicroMVDS too, just not for IFC file testing but for clash detection:
Moult wrote: Fri Dec 20, 2019 7:36 am clash only IfcBeam with IfcFoo)
How do you save this information for use in the clash detection.

IFC-file-serializer:
Same problem will exist on a serializer tool. One need to save what to serialize.

IMHO a similar data modell could be used for all these "MicroMVDS". But I do not have a glue yet how this is done best.
see disscussion on IfcOpenShell issue 748 https://github.com/IfcOpenShell/IfcOpenShell/issues/748
User avatar
Moult
Posts: 321
Joined: Sat Jan 05, 2019 11:46 am
Contact:

Re: Blender now supports IFC export

Post by Moult »

This is cross-posted from the buildingSMART thread, FYI :) Yorik and I had a chat about the IFC diff tool - since it is standalone it would be awesome if FreeCAD could parse its output JSON as well to visualise diffs. Also, if you didn't yet see the other thread, Vote for IfcOpenShell and open source authoring workflows, go and check it out to support IfcOpenShell, FreeCAD and BlenderBIM and free software in general!

3 entire weeks have passed since the last update, due to a 2 week downtime during the holidays - but we're back in business with another update!

- Be less strict about requiring BIM objects to be selected when exporting, to make it more user-friendly. Now you can just bulk select everything.
- New workaround for importing materials from Revit, since Revit has a funny way of storing materials. Models being imported from Revit will now be much more colourful!
- You can now create geometry and export spatial elements, such as an IfcSpace.
- BIMTester now has a variety of new unit tests, including:
- all IfcFoo elements have a name matching a particular pattern - useful to check whether the BIM author has followed a naming scheme in your BIM execution plans.
- all IfcFoo elements have a particular shape representation - useful to check if the BIM author has their geometry in a representation that you can edit, for round-tripping between Blender, FreeCAD, Revit, and others.
- all IfcFoo elements have a particular attribute - useful to check if BIM authors have correctly filled out an attribute
- all IfcFoo elements have a particular property / property matching a pattern - useful to check if BIM authors have correctly filled out a property in a pset that you need for your exchange requirements
- all IfcFoo elements have a particular quantity - useful to check if BIM authors have filled out sensible quantity values for something you need to quantify
- BIMTester can be run now both as a standalone CLI app in your BIMServer, or as a library, and allow you to set custom unit testing parameters for greater testing control
- Have a "force recut" feature to regenerate a new section / view of a model in construction documentation.
- New experimental collection of 50 hatch types for construction documentation, including various drafting standards
- New interface to select a person and organisation to properly set ownership history, with detailed information like addresses and so on
- New interface to quickly create a new view / section of the model
- Each view / section now stores its own view scale, instead of it being an export-time setting for convenience
- New UI to easily switch between views / sections
- IFC Diff utility, to compare the difference between two IFC files is now packaged for Windows as a standalone executable
- The IFC Diff utility has also been packaged within BlenderBIM, so you can run it from the Blender interface to compare files
- Application and IFC header metadata is now (almost) properly filled out, just to be neat.
- Importing now specially treats aggregations and displays them as aggregates
- Opening elements are now stored in an import in their own collection for you to do with them what you please
- New feature to explode aggregations into parts
- Cleaner geometric representation context UI
- New interface to quickly assign any representation to a particular context, subcontext, or target view.
- Automatic vendor hack mode is enabled by default: it detects a particular vendor when importing and auto applies various workarounds for their quirks in their IFC files. Currently enabled for Revit's lack of IFC geolocation and funny materials. This should help a lot of people who aren't aware that these workarounds need to be applied and would otherwise get a bad impression of IFC files and BlenderBIM.
- Bunch of under the hood bug fixes for more reliable importing.

Fancy colours!

Image

Aggregations of imported objects highlighted:

Image

Owner history people and organisations:

Image

Run diffs to compare IFC files!

Image

Views and sheets:

Image

More settings to control MVD import and exports:

Image

Assign various contexts to representations:

Image

Various clean-ups to the BlenderBIM.org website, as well as publicly making the website source code accessible so that anybody can contribute content to it!

Image

New documentation website, with content that is a work in progress, describing in more technical detail about each feature in BlenderBIM. The source code is all public, so others are more than welcome to help write documentation for BlenderBIM!

Image

Get the new version now: https://blenderbim.org/
I also blog about 3D rendering, architecture, software and other on thinkMoult.com. RSS / Atom feed available for your convenience.
User avatar
Moult
Posts: 321
Joined: Sat Jan 05, 2019 11:46 am
Contact:

Re: Blender now supports IFC export

Post by Moult »

Sorry for the late reply, I forgot to post this here.

New update!

- Documentation added for the context panel
- Site objects are now imported
- Bugfix to export different types of curve objects
- All non-polygonal extrusions now have an Axis representation exported
- Material properties are now exported (like density, youngs modulus, etc)
- New sample attributes for doors and windows shipped with the add-on
- Point clouds now can be exported to IFC
- IFC structural objects are now exported
- UI improvement to only show predefined types and userdefined types if it is possible
- Structural objects now export a topological reference representation
- Parametric material profiles are now supported (rectangular, circular, I-Beam, etc)
- New UI to manage material attributes
- New UI to change material assignment (single / layer / constituent / profile set)
- New UI to create a property set override instead of having to write properties in separate CSV files
- BIMTester now includes model setup vocabulary, drafted in collaboration with BuildingSMART Australasia co-founder @john.mitchell - it tests basic project attributes and geolocation for both IFC2X3 and IFC4.
- BIMTester now allows custom JUnit directories for better cloud integration
- Bugfix where some context representations were not exported now fixed
- UI to specify structural boundary conditions
- New UI to specify structural member connections
- Can export a group of structural objects into a Structural Analysis Model
- Importing now has a progress bar and more consistent logging
- Documentation for the BlenderBIM Add-on and IfcOpenShell merged and restructured
- New workaround for Revit incorrect geolocation being placed on the building object - enabled by default
- Assigning product types is now done by a property instead of the Blender parent relationship to allow it to scale on large files
- New experimental script to convert IFC into Code_Aster input for 100% free and open source structural analysis

A few pictures highlighting the major improvements...

Point clouds! Woo! As you can see, BIM, point clouds, and 3D annotations are all fused together - this presents exciting opportunities for recording this as-built fusion for our built environment! (Note: the existing Point Cloud Visualiser plugin is used here - the BlenderBIM add-on will read the point data and export it to IFC)

Image

As the BlenderBIM add-on can now author an IFC file containing structural analysis models, there is now an ability to convert this IFC file into a format that Code_Aster can read to perform structural analysis:

Image

The results are visualised with Salome_Meca and ParaviS (effectively Paraview included into Salome_Meca). Shown is the deflection of a single cantilevering beam.

Image

This is the start of a pipeline where structural modeling and structural analysis can be done with a 100% free and open source pipeline through IFC!

Shown below are the test vocabulary developed with @john.mitchell to check geolocation. This is still relatively fresh, but we hope to standardise this to verify that all models produced are properly geolocated.

Image

Also quite exciting is how FreeCAD was combined with the BlenderBIM Add-on - FreeCAD was used to parametrically model with constraints (Catia-style) a stair tread which was sent in STEP format for manufacturing. The native parametric file was associated with an IFC document association, and the FreeCAD export supplied the solid parametric representation item, whereas Blender provided the mesh based representation item. This demonstrates that it is possible to mix different mesh modeling techniques across different programs and use each to their strengths. Many thanks to @yorik who has made a lot of this possible in FreeCAD.

Image

The same tread is shown with a faceted brep representation in Blender below:

Image

Download the latest today: https://blenderbim.org/
I also blog about 3D rendering, architecture, software and other on thinkMoult.com. RSS / Atom feed available for your convenience.
User avatar
bitacovir
Veteran
Posts: 1570
Joined: Sat Apr 19, 2014 6:23 am
Contact:

Re: Blender now supports IFC export

Post by bitacovir »

It is incredible what you are done in such short period of time. I just remember years ago how Open Source was so far of useful tools for Architecture. And now we have potential tools that can be a valid option for many independent architects and designers. It is great!
::bitacovir::
==================
One must be absolutely modern.
Arthur Rimbaud (A Season in Hell -1873)

Canal Youtube Grupo Telegram de FreeCAD Español

My personal web site
My GitHub repository
Mini Airflow Tunnel Project
Post Reply