Generate IFC file

Hi there,

I am developing a minimal sketch plugin and want to provide IFC functionality for that as well. I mean in general it would be useful to export rhino models in IFC file. I think of a simple translator where users could specify the Class of object eg.: wall, slab, etc. by click and who knows what additional options are necessary. I could imagine that one of the script is dedicated to create an element such as wall and it would associate wall class. In the other hand a simple object modelled in rhino such as a radiator would be manually ordered to the Heating system component class.

I am currently checking XBIM

In the past I planned to use GeometryGym but it is not opensource anymore?

COBie and other BIM file formats are still interesting.

if its simple why not use Rhino Inside Revit and script the export from gh.

Keep me posted, i would certainly get use of it.

Have you tried asking the internet for opensource ifc? You should be able to find quite a bit to get you started.

1 Like

You might want to check IfcOpenShell. Opensource project to authorize IFC files. It’s also the engine behind BlenderBIM.

1 Like

Thanks, It seems it will be a research. This is good idea I have some projects in mind too.

Geometry Gym do provide an opensource IFC toolkit for reading and writing files, It has a very permissive license, and is dotnet (no wrapper) so performance should be superior than underlying c++ options.

There are some primitive rhinocommon code included in that, but the vast majority is closed source in our plugins. Revenues raised from commercial users allow us to work full time on the development and support of the tools. We also have advanced functionality in terms of faceting breps for IFC2x3 to produce optimal files. Feel free to get in touch if you want further information on any of this.



1 Like

Did you try to work with ifcOpenShell with ironpython? This is cpython library…


IfcOpenShell is unlikely to work with IronPython since it is a CPython module. Instead you’ll probably have to do p/invoke bindings for the native library and use that instead.

it does sound horrible… ; )

Its getting clear to me that its not a good idea trying to go too far way with ironPython, because one can walk a long journey to arrive to very-very problematic places. Support is scarse, maintenance is low and .net is designed to be strongly typed…

I love it though