Sending DirectShape data to Revit Conenctor

Hi all, so I’m attempting to get mesh data into Revit using DirectShape objects but currently the Revit connector isn’t reading the objects, saying that “no Specklekit capable of converting DirectShape was found”. For reference this is the viewer of my stream to show that the DirectShape is being read by the server

Any ideas would be greatly appreciated

Hi @mitch.shewring, welcome to the forum!

Direct shapes in 1.0, afaik, only support meshes. We’re reworking this logic in 2.0 to support this much better, including a large subset of breps (thanks to super work that the mcneel people put behind rhino inside stuff!)

Unfortunately I get a not authorised to read on that stream - which is a pity as i’m curious! Would you mind pasting a screenshot of the objs from rhino when you get the time? @AlanRynne would be quite happy to see it, as he’s been having the “lucky” honour so far of hacking the breps/nurbs/hermite splines and other monsters to-and-from revit/rhino :rhinoceros:

1 Like

Yup! I’d be happy to look into this if you send us some more info (or even provide us with access to the geometry). If you were trying to send a mesh, is it non-manifold? i.e. More that 2 faces meeting at a given edge?

Hi all, sorry about the none sharing, I forgot that its set to private now, here’s the shareable link

This would be the objects in a json form from the api/streams/[id]/objects section of the server

https://australia.speckle.arup.com/api/streams/ol7Cw26Ea/objects

I’ve got a connector that sends the mesh of a road, which is 25 different mesh objects combined in my example, to the server but if its being sent to Revit I have it converting the SpeckleMesh object to a DirectShape with the Generic shape category. I hope this is relevant information that can help work out what’s going on when trying to send the data to Revit.

@AlanRynne @dimitrie
Hey all, just bumping this thread as I’d really like to be able to send mesh data to Revit via Speckle.

Cheers,
Mitch

Hey @mitch.shewring,

Thanks for sending the payload, to help us even further, could you please try sending the mesh to the Hestia Server @ https://hestia.speckle.works/ and then share the stream ID with us? This will make it easier for us to replicate & debug.

Can you please also confirm:

  • version of Speckle installed
  • if the issue happens with any mesh (eg a simple sphere) or just with that specific one?

Thanks!

Here’s the Hestia version. Looking at the properties of the specklecore.dll it’s version 1.8.3 and I ran the updater yesterday to see if there was a new version of Speckle available since I ran into an issue with dll’s failing to load after my computer updated so that was my first debug check.

As for the different meshes I have a bunch of different roads that I have to test with (the data is coming from OpenRoads that I’m currently making a connector for).

I’m currently creating a basic test and I’ll see what happens there.

Cheers,
Mitch

Hey @teocomi
I tested the Revit connector receiving a basic cube and this is what I got


This is the stream on hestia


It’s a super basic cube so there’s something wrong with how I’m setting up the DirectShape clearly

Cheers,
Mitch

I can’t seem to replicate your issue! You might have a wrong setup in your kits…
Can you please try uninstalling Speckle and re-installing the latest version: https://github.com/speckleworks/SpeckleInstaller/releases/download/1.8.31/Speckle.exe

If instead you’re running a version of our connectors or installer customized by Arup unfortunately we can’t provide further support.

So I redownloaded and reinstalled speckle to test my streams again and it’s still giving me that error in the screenshot above. When you tested the streams with the Revit connector did it just go through as it should have?

Cheers,
Mitch

Hey mitch, sorry that keeps happening!
If you can create the DirectShape in grasshopper, it means the Kit is installed correctly, so I’m not really sure why Revit won’t pick it up…

Let’s try a few more things:

  • can you please post the content of your %localappdata%\SpeckleKits\SpeckleElements folder?
  • what version of Revit are you using?
  • do you have other Revit plugins and, if so, can you disable them temporarily and try to receive the stream again?

Hey @teocomi
Here’s my SpeckleElements folder contents


I’m using Revit 2020
And as for plugins I installed Revit and then reinstalled speckle to get the plugin for it so I don’t think there’s any other plugins.

One other thing to note is that I’m creating the DirectShape in a .NET c# application, not grasshopper if that changes things.

Cheers,
Mitch

Ah gotcha!
Well this changes everything :slight_smile:, the error message is misleading in this case (and thanks god 2.0 kits have a more deterministic approach to conversion!).
What’s happening is that the conversion to DirectShapes is failing somewhere and the Revit connector thinks there’s no kit capable of converting it.

I’ve checked your raw json again and noticed some fieds are missing, and some have a different type than other direct shapes I generated from the GH plugin

I’d suggest you do the following:

  • try sending a DirectShape from grasshopper (a basic cube mesh will do), it should work without errors
  • try debugging the revit connector, you should be able to see where the conversion is failing (you can just debug the Elements project)

If you need further support, given we are dealing with a custom implementation and Speckle v1, we can set up a simple service contract and help you even further! Cc @daviddekoning

1 Like

Hey @teocomi
I got it to work, turns out the only thing stopping the object from being read in was the ApplicationID property of the object not being filled in, now it sends the data through just fine.

Thanks for all your help.

Cheers,
Mitch

2 Likes

Glad to hear it worked! Looking forward to seeing what you are building :slight_smile: