Speckle IFC Import Alpha Release

Hey @Testers! As you may remember, we’ve promised some time ago that we’re going to deploy an IFC importer to Speckle based on the IFC.js project.

Well, since two days, it’s actually live on our testing server (the one you have access to - latest.speckle.dev) :boom:

We’d be really grateful if you’d take it for a spin and give us your feedback, as it will greatly help benchmarking the current implementation and scoping future improvements. It’s all as easy as drag & drop - so no excuses :sunglasses:

Currently there are some quasi draconic limitations in place on the time and size of the files we process, but we can change those and optimise some of the routines. There are also upstream limitations coming from the IFC.js parser, but the team there is really happy for feedback and bug reports and we can work together to improve things :raised_hands:

9 Likes

:loud_sound: This feature has now been released to everyone on Speckle XYZ or on our latest server release!

3 Likes

This is really cool! does anyone have a simple example graphql query to grab all doors and their properties for instance? I have made a steam with duplex here. Speckle

Thanks tonnes for this its awesome!

3 Likes

Here you go! I’m using the tabular sample app to create this query. I’ve also isolated only one storey to make my life easier re figuring out where the doors are:

(i’m showing off right now)

3 Likes

awesome @dimitrie, super exciting I have rebuilt the example and it works for me too, I’m still trying to get my head around the speckle graphql explorer and it would be awesome to see what the query would look like written in there? sorry for not being clearer the first time :slight_smile:

1 Like

Here’s the query:

query( $limit: Int, $mySelect: [String!], $myQuery: [JSONObject!]) {
  stream( id: "6482b3a9f8" ) {
    object( id: "44a5cf3d228e7c3916bd71b5d9a0f806" ) {
      data
      children( 
        limit: $limit
        depth: 100
        select: $mySelect
        query: $myQuery
        ) {
        totalCount
        cursor
        objects {
          id
          data
        }
      }
    }
  }
}

and the variables:

{ 
	'limit': 10,
	'mySelect':[ 'speckle_type','id','ObjectType','OverallHeight','Name' ],
	'myQuery':[ { 'field':'speckle_type','operator':'=','value':'IfcDoor' } ] 
}

hope this helps! you’ll need to look in the children field of that response to get the doors.

2 Likes

Awesome!!! for some reason it was happier with double quotes in the variables… I have put them below for anyone else,

{
  "limit": 30,
  "mySelect":[ "speckle_type","id","ObjectType","OverallHeight","OverallWidth","Name" ],
  "myQuery":[ { "field":"speckle_type","operator":"=","value":"IfcDoor" } ]
}

thanks again for this awesome work and support, there is a follow up question regarding accessing the properties in their quantity or property sets for instance the Area of IfcSpace, but that might be a thread in itself, so I’ll ask that in a new question here, thanks again for the awesome answers here :slight_smile:

2 Likes

Hi all,

I just tested to upload an example ifc file and some informations came missing. Does anyone knows what could be the issue here?

here is the solibri version.

__
A little background info from this test:

I am trying to develop a standardized workflow for architectural competitions. The idea is to receive all the ifcs and be able to extract the information to do different analyses. Now, there are tons of ways of doing that, but I am currently thinking about using the following idea:

  • architects make a login in speckle →
  • they upload their IFCs models →
  • pass us the streams →
  • we extract the infos with speckle graphQL and make our analysis.

I know, making uploads might be not the smartest way, but I noticed that there is a really huge technology barrier for many people on the industry to understand new concepts. Sometimes they can’t even understand completely the concept of the connector. So if I am going to “force” people into a workflow, I am going to do in the easiest/standard way for them (usually everyone knows how to do a login or upload a model). They can still use the connectors, if they wish it so.

2 Likes

Hey @ncatunda would you be able to share the source model?
We’d be happy to look into what’s going on!

01_Studie.ifc (1.6 MB)
Sure! Thank you very much :smiley:

1 Like

Better late than never. Now we have a much more powerful and robust IFC import.

@ncatunda

4 Likes