Edge Visibility in Speckle Viewer

Hello,

I wanted to ask if there are any plans to include the “edges” feature in the Speckle viewer. I’ve noticed that my architects prefer to see the edges and floor edges (The floor is aligned in a straight line with the mass form). In Revit, this feature is available, but since these are edges, they are not displayed in 3D view in Speckle.

Here Speckle View


Here Revit View

that’s a very pretty model btw :blue_heart:

4 Likes

Hi @Eleron96

Edge display has been an ongoing topic in our dev pipeline for a while now. Currently we’re not displaying them, however making an extension to the viewer that does it, would be doable. If you are using the viewer package in your own app, I could be able to help you with it. If you are running the viewer in the official speckle web app, then this option for customization is not available

The good news is that, regardless of how you are using the viewer, we have recently started the development of an initiative where we will be adding various view modes in the viewer. Several of these view modes rely heavily on edge display, so one way or another I expect that they will be made available for viewing. Will keep you posted!

Cheers

PS: Indeed, that model really is pretty!

4 Likes

@alex @jonathon Thank you very much for your feedback!
Regarding the feature request, thank you for the information! I’m trying to relay only the essential features that the architects are asking for :sweat_smile:

Discussing this in the open @alex, do you think edges mode would imply work on the Connectors side? From a Navisworks perspective, its meshes are extremely faceted, and the difference between hard and soft edges between faces is not rationalised.

Would work on Publish help, or would the viewer implementation likely have all the smarts to resolve this?

Here’s the last documented entry regarding edge generation/display. Last I remember, there are several issues with the edges:

  • Edge data is not available for all speckle objects. So for the ones which don’t we need to generate them ourselves
  • Generating the edges ourselves is an imperfect process, at least using the default mechanism from three.js. It relies on a user defined threshold value, which does not work for all objects the same
  • Generating the edges using the approach above it slow. Too slow for our needs anyway. And speeding this up might not be worth the effort, since you still end up with a result prone to inconsistencies.

Ideally, the viewer would receive the complete and correct edge data from the connectors. However, I’m not entire sure this is actually feasible. Maybe @dimitrie might know why/how.

Just to disambiguate, when we say edges we don’t mean the edges of the geometry we render. We can display those, but that’s not you want. We triangulate all our geometry for real time rendering, so the edges post-triangulation are not the same edges you want to see.

1 Like