Feedback for gen 3 rhino/gh connector: Part 2

This is a continuation of my feedback, with focus on the gen3 gh connectors.

  1. Can you explain property sets (gen3) vs extend key/value (gen2). There is no effective way to create property sets now with a list of key and values. Requires me to manually name each key

  2. I understand block support is still WIP. Currently the workaround to send blocks into from GH to Speckle is to use the Speckle Block Definition/Instance components provided in the Speckle 2 BIM. However from my knowledge, the Speckle 2 BIM components are not provided in the new gen 3 connectors. This means i have no workaround if i rely on gen3 connectors.

  3. For the Speckle Group component in gen 2, it does not seem to work with ESO K/V component. It tells me that “1. Input object is not a Speckle object, nor can it be converted to one.” I would like to understand if the Group concept is going to be implemented in gen3?


  4. Sync(Load) in gen3 not working same as Synchronous Sender in gen2. When automating the script with rhino.compute/ gh player, the synchronous sender in gen2 waits until the script completes before sending out, however it doesnt seem to be the case for gen3. This means that i end up with an empty output in speckle when using gen3 connector.


Also good feedback here!

  1. The keyvalue question has come up a few times: next-gen is designed to be more integrated with native components, so if you’re in Rhino 8 you can use the User Text component to work by keyvalue! In Next-Gen, Speckle properties from any application correspond to user strings in the Rhino context. See this thread for more details
  2. Block support is coming! @bjoern is actively working on it now. You’ll be able to work with blocks with Next-Gen Grasshopper as if they are Rhino blocks (not related to BIM elements)
  3. We haven’t planned supporting groups in GH, can you elaborate on the workflows you use them for?
  4. I’ll file this as a bug, definitely fixable
2 Likes

Thanks for the reply.

  1. Ah I see how it works. Will it be possible to group the properties into different dropdowns rather than everything under a single “properties” dropdown

  2. Definitely looking forward to the block support. I will be sticking to gen 2 connectors until that is implemented. @bjoern Nested blocks would be very much appreciated as well.

  3. Once the blocks are supported, groups wont be very necessary. I was just looking for alternatives to package my geometry together.

1 Like

No, it’s not possible to create nested properties from GH currently - all Next-Gen data is using the properties field, but some applications do publish nested groups underneath the properties field. What’s your motivation for asking, is it for presenting the information in the viewer in a structured way or are you looking to do something else with nested props from GH?

I was just looking for alternatives to package my geometry together.

Some context here would help us a lot as well: do you specifically want instanced geometry, or just a way to attach multiple pieces of geometry to the same object? What’s your workflow here?

For reference, this is an example of an object from Revit that has 3 meshes in the same object (and nested properties): https://app.speckle.systems/projects/8be1007be1/models/b8ec93a83406485235b24ffd8c3d0343

1 Like

Hi Claire,

The example you showed is exactly what I would like to achieve. Presenting the information in the viewer in a structured way is definitely important. Being able to also retrieve these structured data to then create schedules (material/door/window/etc) in PowerBI or GH is also part of the workflow that I hope to achieve.

How can I create these nested properties for objects that I send through rhino/gh? Currently I am working with a BIM model in Rhino through the Visualarq plugin.

1 Like

Currently it’s not possible in Grasshopper to create these nested properties, but we can add this to the roadmap for the stable release :slight_smile:

Hi @clrkng , could I check if the Sync(Load) bug in gen3 have been fixed?

Hi @Julius_Ang ,

The sync publish issue is still in our QA backlog, but we did fixed a bug in release 3.4.0 that may have fixed it - if you’re able to give it a quick retest that would be helpful!

3.4.0 also comes with nested properties :slight_smile: you can just pipe in the output of any property node as in input in another to nest them.

Hi @clrkng , I just did a retest. Seems like the Sync(Load) component is not even pulling in any geometry this time.

I tested the nested properties and it is working great. Thanks for the update.

Oof ok, that sounds like a bigger problem - i’ll bump the sync load issue up in priority and see if we can hotfix soon

Hi @clrkng, I’m having difficulty wrapping my head around the S3 connector for GH. Many workflows we’ve established with S2 connectors involve generating geometry and then sending to Revit using the Speckle 2 BIM components. Are there any plans to maintain this workflow in Speckle 3?

So far what I’ve been seeing is mainly loading Revit data into GH, but not the other way around.

Hi @Wes ,

Our next-gen connectors in general are not supporting native element creation in Revit or other BIM applications. This was part of a larger shift away from traditional interop and towards a lightweight design coordination data exchange.

However, we may introduce a simplified version of the legacy BIM elements to correspond to our other connectors:

  • each gen 3 bim connector has a single schema, eg a RevitObject , ArchicadObject, EtabsObject, and so on
  • In Grasshopper, we can mirror these schemas to allow you to create objects as if they were authored in their native application.
  • For Revit workflows, this means that you can assign Category, Family, Type, and Level properties but the geometry will still be received as the current Revit<>Revit gen 3 workflow, as generic models.

Could you give me more context in which specific Speckle 2 BIM components you’re using, and how frequently you/your team is publishing from GH to Revit?

We have multiple departments working with GH>Speckle>Revit, ranging from bridges and civil structures to buildings to water treatment facilities. You name it, we’re probably doing it. Having no way to control Revit Native elements from GH through Speckle, raises some issues for our prefered way of working.

Our prefered workflow is modelling in GH and creating drawing in Revit. If the elements from GH we’re received as generic models, we can’t create drawings. Generic models have many limitations and are rarely to be used according to our BIM best practices.

Specific component range from Walls, Floors, Columns, Structral, Freeform Elements, Adaptive Components, Levels, Ceilings, Family Instances, Topography… And am probably missing some. For a project that I’m currently working, I even need to model pipes.

Can’t say much about frequency, we’re a reasonably big group.

Ok, thanks for the details - we know that the GH schema objects is one of the biggest legacy workflows we haven’t brought to the current generation, so we are considering reintroducing it in the future if it aligns well with our design coordination use case. Is there a reason why your teams are not using eg Rhino.Inside.Revit for drawing generation?

I would say there has been a shift in the approach. Modelling is done using parametric tools (mainly GH), and drawing is for a big part still manual work and done within Revit.

As computational designer I mostly model, and rarely make drawings. We have “traditional” designers that draft. Therefore, I try to skip Revit altogether .
At least in the infrastructure department I’m in, using RiR for drawing generation hasn’t been done afaik.

Depending on the designers, role, project, scope or application, we pick either RiR or Speckle.