Why is this surface valid?

Open the file below. You won’t see anything, so use Ctrl+A, which will select one surface. Zoom Selected will not zoom in close enough to be able to see anything no matter how hard you try, but if you run Check, it says “Valid”.

WhyValid.3dm (1.7 MB)

Rhino reports an area of 1.29097628e-40 (+/- 1e-49) square millimeters

The size of a hydrogen atom is around 0.5e-10 meters or 0.5 e-7 millimeters. This is like 37 orders of magnitude smaller than that. It’s somewhere down around the Plank Length:stuck_out_tongue_winking_eye:

Anyway, you can’t see it, you can’t get the edges - they are invalid - you can’t really do anything with it. So why is it considered valid?

(yes, it was created with a script, but I was surprised when it passed the check for validity - of course anything else I tried to do with it failed)

If you change your model units to angstroms and scale, does the object become visible and actionable?

If so, presumably it is valid, even if inappropriate in the original model.

You can then get a dup border, but although it should be 4 lines ( it is a plane surface), the result is only a polyline with 3 points and explodes into two lines that are each 1.59404e-05 angstroms in length. So the ‘validity’ is still questionable in my mind. Of course one could define custom units even smaller than that, but in principle the validity is also in relation to the file units. For example certain curves with micro-segments in them that are below file tolerance but well above this level of tiny-ness are considered invalid.

Well, I’d hold on to it: it could be the very final patch surface needed when someone wants help closing a tricky filleted object.

I wouldn’t want that thing anywhere near any model I would make…

In fact, it’s just a dummy surface which was created via script to be used to split something else (which it wouldn’t). I just added it to the document to try and see what it looked like.

Unit is quite meaningless but the surface is way smaller than RhinoMath.ZeroTolerance which I think would cause a lot of trouble…

Somehow I forced Rhino to render this surface. :clown_face:

It does return an area that isn’t that small.

image

Yeah, you’re right,

0.00000000000000000000000000000000000000013 square millimeters

isn’t all that small after all…
:stuck_out_tongue_winking_eye:

(might have a zero or two too many or too few)

lol. omg…