Revit to Rhino - Layer/Visibility settings reset on Receive & mesh/block settings

Hello - I’m a new Speckle user, so am hopeful I’m missing something. I’m working with Revit 2025 and Rhino 8, and am looking to pass Revit model elements into Rhino for design study. I’m running the latest Speckle connectors (2.20.2 for both Rhino and Revit) and am having no issues in receiving Revit elements in Rhino.

However, upon reload, I’m losing any changes I’ve made to Layer settings (including Linetype and Layer Color - it appears Materials are remaining as I’ve assigned in Rhino). Ideally, any changes to these settings would remain as established in Rhino, rather than reverting to something generic.

Also, is there a reason certain Revit elements (like curtain panels) are coming across as individual mesh surfaces and not joined meshes (or blocks for that matter)? It would be nice if there was a bit more nuance in controlling how the end geometry manifests in Rhino (especially if we could have breps).

Curious to hear how others have worked through these issues, and whether these are in conversation for further development by the @SpeckleTeam .

That said, I’m very excited about this product and looking forward to working with it more regularly!

Hey @awoodhouse welcome to these parts! Feel free to Introduce yourself :person_gesturing_ok: if you’d like.

We’re in the process of revamping our desktop connectors (stay on the lookout for an announcement today!) and will certainly take your feedback into account. I believe some of what you mentioned regarding styles should already be somethign we’ve taken onboard.

1 Like

Hi @awoodhouse ,

Welcome to these parts!

I’m interested to hear more about your workflow. How do you use Layer Settings (linetype and layer color) and why?

Curtain walls is one of those things where different people are interested in different representations. They are sent as individual elements because that’s how they are represented in Revit, each panel is selectable, may have different parameters assigned to them.

Why would you like to have Breps? I’m asking because this is something we are considering but we’re struggling to justify the effort it requires to develop it using Revit API.

Hi @gokermu

Thank you for the reply, and apologies for the delay. I appreciate the robust community the Speckle team is setting up - it’s great to know these questions aren’t getting lost in the ether!

When it comes to Rhino modeling we’re often bringing in geometry (ie Revit elements) thata we intend to visualize within Rhino (perhaps for diagrammatic purposes, geometry iteration or to study through simple visuals). We may be opting to view these elements with specific colors/materials that differ from what is established in Revit, and so will prescribe these in the Rhino model. I was noticing that as the Speckle content gets refreshed, it reverts to its default importing state, rather than retaining what was overwritten in Rhino.

This makes sense. In the case of my Revit model, our curtain panel elements were actually comprised of multiple primitive Revit elements (we constructed them as a curtainwall fabricator would, with mullions, glazing, spandrel glazing, and any ornamental elements all included as the individual “curtain panel”) - which would be ideal to inherit in Rhino as a single blocked instance so we could then iterate on that block in a design study capacity, and in a best-case scenario, push that updated block back into Revit as a revised type to be pushed to all instances within the Revit model.

From my perspective, breps/polysurfaces tend to be easier to work with as objects than meshes when it comes to further manipulation in Grasshopper. The triangulation/quadding of meshed objects often creates (many) more faces than a geometry needs, and for a lot of what we’re doing, accessing more simplified (fewer faced) geometry is preferable. In my mind, breps/polysurfaces are most similar to rectilinear geometry being produced in Revit (even if, on the backend, they are radically different in construction - I’m not familiar with the Revit API to speak knowledgably about that :wink: ). Anyways, meshes simply seem clunkier to me in the Rhino environment, and I could see value in having a Recieve feature which allows the user to specify Nurbs or Mesh as a preference when receiving information.

I’m happy to discuss further, and thanks again for following up!

1 Like