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:

5 Likes

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

2 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