Gumball breaks the UI - by allowing scale to zero

The argument is that the identity of an object concept should not become broken. A collapsed bunch of surfaces is now a point, but Rhino does not call it a point. This is a conceptual break.

When you work on SubD, everything is a vertex behind the scenes. When you collapse faces to a singularity Rhino (or Blender) knows to internally delete concurrent vertices and do clean up).

Even this is not desirable.
Staightening a curve to a line does not always mean that this line can be substituted with a 2point degree 1 line.
It may be useful to retain its more complex degree/c-point structure.

No cleanup needed there because we started with a curve and ended with a curve. The scale operation did not cause a shift in object type.

When you have polusurfaces collapsed to one dimension, then they are actually curves. Whenever Rhino is caused to believe something other than reality it’s a BREAK. (Objects are now curves, or a single point, but Rhino thinks they are polysurfaces)

The argument I am speaking against is that scale to zero should be limited to SubD.
The gumball and the possibility to scale to zero precedes Rhino’s subD functionality by two major versions, that should tell yousomething.
I don’t disagree with your initial issue, it could lead to files having potentially huge objects that have size zero and are unselectable,which for obvious reasons doesn’t seem a good idea.

I think @pascal s solution is more practical: just don’t allow scale to zero operations that lead to bad objects (or at least pop-up a warning).
Trying to make Rhino to convert a complex polysurface to a curve is unlikely to lead to a usable object either.
I don’t want developer recources to be bound by this monumental but ultimately useless task (or am I wrong here?)

Ok, that’s fine. You are finding issue with one of the proposed solutions. No issues there. We can iron out the specifics later; as long as we recognize there is a conceptual problem whenever we cause Rhino perception of reality to become broken.

Rhino is missing a clean-up operation after scale-to-zero to properly clean concurrent control points and properly re-assign object types.

Right now it thinks a singularity is still a VALID polysurface. So it’s perception of reality is broken and it does not flag anything as bad geometry.
Clipboard-1

As I said, I get that and I agree it IS a problem.
One could for instance create giant files without any visible objects (selectable only by commands like selectall)
I think 3D-scale to zero, could simply be substituted by “delete” or is there any practical use for it?

2 Likes

Hi all - I do not know what is possible (I’ll ask) but it seems to me the ‘solution’ exists in ProjectToCplane - if it breaks somethnig, simply fail.

-Pascal