Error geting "jsonized" IFC stream in Grasshopper

Just trying to get a ifc loaded using speckle´s webapp. IFC is pretty simple, just a pair of wall, one with a wall, other with a door. Each of the wall are in separate story…

Tried, both converting and “not converting” the stream (i assume this if for “speckle kit” part, isn´t it)

I´m I missing something?

If I try to receive the same stream to Rhino, there is no better luck…


Hey @leceta!

Thanks for bringing this up! Not sure what could be going on there :sweat: But it seems like a rather critical error when converting the JSON strings into Base objects again.

We’ll have to look into this before we can give you a definitive answer…

Could you share with us the original IFC files and the stream you sent them to? :slight_smile:

Hi @AlanRynne , here they go, both speckle stream/commit and original IFC file. Please, note that IFC rendering by speckle viewer has also failed to perform doors boolean operation. Its a IFC 4 design Transfer View with “parametrical” geometry representation types, made with Archicad.

I also tried with IFC 2x3 Reference View (mesh based brep representation) but “get stream” also throw the same error. In that case geometry representation of the wall hole by the door is correct, probably because there was no boolean operation to be performed.

The screen shot is taken from a third party 3d viewer (Bim Vision), correctly solving the boolean operation between wall and door.

wall_DTV.ifc (34.8 KB)

1 Like

by the way, is it possible to download the speckle’s json representation of the ifc.step file directly from speckle´s webapp? thanks

1 Like

Thanks for this! I was away on vacation last week but I’ll check this out this week and get back to you.

As for downloading the JSON, it is not doable at the moment, easiest way would be to do it through Grasshopper (when we get to fix the error you reported :slight_smile: )

1 Like

Hi @AlanRynne , any advance on this topic?

Hi @AlanRynne , seems that this is not being a priority, may be you can help me in other way.
I need to see the json version of speckle’s IFC serialization to check if it mantains the json format ifc.js is using as their internal data model (combined with GLTF in their case).
Do you know if this is so?

Hi @leceta!

Sorry, I must confess we’re pretty swamped at the moment, and our IFC importer has fallen down our priority list. I suspect we need to update it to the latest ifc.js version to get some of the fixes from them, but also fix some deserialisation issues on our side.

As for the IFC serialisation in Speckle, I can confirm you that we do not follow the same structure that IFC.js follows on their viewer. There are some modifications made, since an IFC object is not something Speckle can understand in our connectors, converting them to Speckle compatible format requires some modifications (including serialising geometry as our Speckle classes) and using our displayValue convention for any object that contains a displayable mesh/curve.

In essence, we do use IFC.js to read the IFC file… but that’s about as far as we go with their packages, once the file is read we do our own thing to make the objects “Speckle friendly” although obviously has some caveats and issues that need addressing (i.e. the original issue of this post, among others)


Ok, understood!
Thanks @AlanRynne