RemoveMultiKnot provides false response - needs fixing

RemoveMultiKnot reports “object had no multiple knots” if the a surface has fully multiple knots. This is false (less politely known as a lie).

Attached is an example file with two surfaces, each with fully multiple knots.
FullMultiknotExampleDC1.3dm (2.7 MB)

RemoveMultiKnot should respond with “object has fully multiple knots” which will not be removed.

You make a good point.

Having a function to remove fully multiple knots would certainly be useful.,

But lets think about why the user might not want surfaces with fully multiple knots. And the number one reason is that they cause numerous subsequent problems for the user.

In a nutshell this can be summarized as follows:
Many Rhino functions don’t work well when the inputs include curves and surfaces with fully multiple knots.
Fortunately for the programmers, most users who stumble over those problems don’t understand that fully multiple knots is what is causing the problem and thus the programmers can continue to dodge dealing with the problem…

So there really is two issues that the Rhino programmers have been avoiding (i.e. dodging) for decades. One is helping Rhino users get rid of fully multiple knots (if they don’t want them because they know the fully multiple knots will cause problems) and the other is dealing with the fully multiple knots such that the user does not have to even think about them.

In many cases, there is no good reason for Rhino to create fully multiple knots in the first place. The reason Rhino does it is just pure laziness on the part of Rhino programmers. But assuming the Rhino programmers are going to stick with the outdated 50 year old NURBS maxims that it is necessary to create fully multiple knots in some situations, they could at least do what other CAD programmers have done and learn to make downstream functions work when they encounter surfaces with fully multiple knots instead of producing garbage whenever those functions are fed surfaces with fully multiple knots.