Make2D horrifically bad results on mesh with clipping plane?

I’ve been using Rhino 8 lately, and while the new features are nice, there are also some other things which seem to produce unexpected problems.


I used a clipping plane on a complex mesh geometry and got this result. MeshOutline does not work here for some reason, either.

Make2D seems to work fine without the clipping plane, with the object at origin:

File here: scene13_question.3dm - Google Drive

I believe the problem is that the model is at -5000000 units away in Z. For some geometry this might be OK, but for a mesh it might be a bit much.

Also, the units are not quite right. Currently the spine is 53 meters tall. I expect this is not exactly correct?

The results here are moving the model to 0,0,0 and then running the Clipping Drawing command. And adding another clipping plane along with the original.

Work better?

Yes, thank you! Can I ask why the model has to be close to the origin, and whether or not setting CPlane to somewhere else will fix it, or if it will always have to be the true (original) origin?

My broad brush short answer, and I am talking worse case scenario in this case.

The computer calculates in floating point, which has 16 significant digits to compute with. And if those numbers need to be used in a square root, only half of those digits are really consistent depending on how fractional the result is. Just the way math works on the computer.

So if small detail is important, like in this case, starting with an object more the 5000000 units away already uses 7 significant digits to the left of the decimal point gives the computation very little room to calculate details. Complicated details need precision. And the result therefore is not that precise, as you can see from the original placement.

This is actually one of the reasons for Units and tolerance in the file. Tolerance can be adjusted to different scenarios. For instance building a Dam across a valley might use large units sizes, but also because it is about moving dirt, we do not have to calculate down to .001 of a mm. But perhaps can get away with a centimeter accuracy in that case. Although in this case centimeter accuracy would not be enough.

There are much better technical discussions about this on the forum, but this perhaps it is best to know is a range that geometry calculations can be done accurately.

Also, this model doesn’t not have to be right at 0,0. It could be oriented so the 0,0 is at the feet or top of the head of a full body. I sent it to 0,0 because it was quick and easy.

Google search “limits of floating point math” and we can all go down the rabbit hole on this. It takes much smarter people then me to really understand this.

2 Likes