Rhino Points unset causes viewer to not display geometry

Hi, I’m experiencing an unusual issue with the web app, affecting both the new and old interfaces. I’ve committed with unset Rhino Points (Point3d.Unset), which seems to be causing the rest of the geometry in the commit to disappear and become invisible. Although I can still receive the data, it’s all there, and the web app says there is data. Has anyone else encountered this same problem?

Hi @lasaths

Can you please share a stream which manifests this issue?

Hi @lasaths

Thank you for providing an example stream! I’ve looked over it and there is an exception being thrown in the viewer. There are a few thousand Vent objects have a point with astronomically low values as visible in the image below

vent

That value looks like the lowest representable double. When the viewer tries to setup the buffers for displaying the points, it casts them to float32. And since that value is far beyond what that can be represented as float32, the js runtime will turn it into -Infinity, which of course breaks things.

I’ve made a task in our backlog so we can gracefully recover from such scenarios.

Thanks for letting us know about this issue!

Cheers

2 Likes

Okay! Good to know! We tested it with Rectangle3d.Unset and that seems to work. So I assume this will only happen with Planes and Point3ds in RhinoCommon.

1 Like

I’ve faced a similar issue with Rhino Points causing geometry disappearance in both new and old interfaces.

Hi @lasaths ,

Could you elaborate on why you’re sending unset ‘Point3d’s from Rhino? While this edge case is good for our viewer to be able to handle regardless, I’d like to better understand why it’s important for your workflow - it’s unusual to pass unset Rhino geometry outside of its programmatic context. More information would be super helpful!