Fetching and Visualizing data from Revit in Rhino through Grasshoper

I am trying to execute the tutorial steps: https://speckle.guide/user/interop-gh-revit.html
but I go very slow.

  1. I have done step “Sharing Revit project data” successfully.
  2. I have done also “Using Revit project data” in Rhino.

I have a question, although the data is fetched in Grasshopper, how do I visualize them in 3D ?

Here I am:

Another question is how do I merge two commits ? There is only send or receive but not merge. I have experience with Github.


1 Like

Hey Dimitrios, great that you are following our tutorials, hope you’ll find them useful.

Here’s some answers:

How do I visualize data in 3D?

Geometry sent to Speckle can be visualized online in our 3d viewer, simply copy paste the stream url in your browser, then click on the specific commit.

In the same web interface, you’ll also be able to see the raw data being sent just below the viewer.

In the first 2 stups of the tutorial, no geometry is being exchanged, just the names of Revit types so it can’t be seen in 3D in the viewer nor in Grasshopper.

How do I merge two commits?

Currently, commits or branches cannot be merged via Speckle, but you can do so in most of the software supported by Speckle. For instance, you can manually merge to branches or even streams easily in Grasshopper.

We’ll make sure to clarify these items in the docs, thanks for your questions!

Anything else, just ask :slight_smile:

Hi Matteo from Speckle team,

I have tried the localhost:3000 three.js visualizer (nice idea, I am developing some visualizers and a 3D repository too for WordPress: https://vrodos.iti.gr using three.js too)

When commiting a box from Rhino, three.js is visualizing correctly
Also when commiting walls from Revit to three.js, the output in three.js is correct.

However when commiting the big building of the above demo in three.js it is visualizing but showing a warning:
“No displayable objects found in object 83e4a6a3a7c06789a6c673aacd2aa714”:

I recomitted and I checked all commits. The same about message (with other id)
Any idea?


Hmm, that’s strange. I’ll try myself in a bit. Can you send us a screenshot of the “data” section of that commit, expanded a bit?

PS: In grasshopper, to actually get the data of said elements visible in 3d, you need to expand the objects one extra level, and you’ll reach their base geometry and display meshes coming from revit.

If this not working, I can send you the psql database

Easier: can you send that model to speckle.xyz and see if we can reproduce the problem there?

Hi @Dimitrios.Ververidis ,

That’s because you are just sending the Element Types from Revit, these don’t have any geometry :slight_smile: , that is required in the tutorial that they can be used later.

Try creating another stream in Revit, and instead select the “All model” filter, you should then be able to see the Revit geometry in the viewer!

1 Like

ok, I have commited with the “All” filter selection in Revit and it has worked. I can now visualize in three.js a decent version of Revit model. You must remove from the description of the demo:

Grasshopper ➡ Revit | Speckle Docs

" Go to the Project Info filter type, select the Project Info, Levels and Families and Types options and press Set Filter."

It is causing the illusion that these are enough to have the model commited.

Back to Grasshoper
I pressed “Receive” and it took some time and downloaded the commit from Revit.
Now I have added “Geo” to various elements but the values are null

We’ll try to clarify that section, thanks!

You’ll need to put in another “expand speckle object” in between - this will show you the properties of the objects, including their geometry:

ok, thanks for the video !

finally achieved to visualize in Rhino (via Grasshoper) the commit I have done in Revit

I got the idea. However, I think that the video you provided has to be added to the demo description web page: Grasshopper ➡ Revit | Speckle Docs

I couldn’t easily infer that I should put two ESO nodes sequentially. Some hints would be useful per node.

I will meet with Architects and Engineers in the end of this week to get some feedback about this procedure. I think that the Receiver node should automatically generate the ESO nodes (both levels), so that I do not have to do add manually all the first and second level ESO nodes .

Best and keep the good work,
Can I add an article about speckle in our blog (News – PrismArch).
What are the future developments planned for Speckle ?


1 Like

Thaks this is great feedback!
We will clarify those sections in the tutorial next week, we’re also planning to make some more video so you can see all the steps (cc @AlanRynne) :slight_smile:

Here’s our roadmap: Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

And yes, please do wire an article on Speckle, it’d be our pleasure!

1 Like