BadObjects Reporting


I found that when pasting/importing geometry that will be flagged as “bad” is reported only in the commandline. Could we please have an option to always report bad geometry when Rhino detects it?

Why is it not explicitly (via dialog) reported to the user when bad geometry in added to the document from an external source, yet when Rhino creates bad geometry internally it will be accompanied by a dialog.

Apart from preventing many problems down the line, why hide the problems with incoming geometry, leaving 3rd-parties free from blame?


You do have and have always had.

Turn on the CheckNewObjects command.
For a while during the V5 development phase we forced it on and users howled. It solved a lot of problems.
Now, the default behavior is to report badd objects on the command line as you described but to not get in people faces.

I ALWAYS want to know when I have imported or created bad objects.
CheckNewObjects is ALWAYS on my systems.

Hi John,

I understand and remember the discussions and disadvantages around always reporting.
However, would it be possible to built a custom switch?

I’m specifically talking about reporting bad geometry in imports/clipboard pastings and alike.
They are currently only reported in the commandline, where I think it very useful being able to force a warning dialog in those cases as well.


Essentially, that’s what CheckNewObjects does. Additionally, if Rhino creates a bad objects or you do through some point editing thing, then that message will pop up.
Rhino so rarely creates them now, I think the existing tool will suit.

Hi John,
do we need to add CheckNewObects as a command at startup or Rhino remember our choice after we close it?

No worries, Rhino remembers.

Hi John,

To make sure I understand; you do not think there is need of an option to pop-up a message when bad geometry is pasted or imported into a file?



Ok, Thx!

Personally I DO think there is a need.
My opinion is CheckNewObjects should always be on. There are a lot of people that don’t think so.
During the V5 development phase, we did have it on (I was very adamant about it at the time), and as a result, a lot of niggly little things were fixed in Rhino. Some people howled that we were interrupting their work flow and wasted it off. Their argument was most of the time, these bad objects did not cause problems.
We compromised. In V5 the behavior is when you open a 3DM file with bad objects and CheckNewObjects is off, the bad objects are only reported on the Command line. V4 was silent about it. When CNO is on, then you get the pop up.
The command is “sticky” meaning that if you turn CNO on, it will stay on in that copy of Rhino until you turn it off.
Does that make more sense now?

Currently [quote=“John_Brock, post:9, topic:3348”]
In V5 the behavior is when you open a 3DM file with bad objects and CheckNewObjects is off, the bad objects are only reported on the Command line.

That doesn’t work on my Rhino.

When CheckNewObjecys is off nothing is reported to the commandline.
When its on then it reports to commandline but no dialog appears and
you have to scroll up to see. So for all practical purposes there is never
any visible reporting of bad objects on import or opening files.

I just checked with the developer and you’re right.

When CheckNewObjects is Off (default), Rhino says nothing. This was the V4 behavior.

When CheckNewObjects is On, when a Rhino commend (like Join) makes a bad object, the pop-up dialog comes up.
When a file is imported (like the IGES file I just opened), the bad object count is written on the command line and no pop-up message.
This behavior was settled on for the people that import lots of files. The pop-up was interrupting the import/open process and it was deemed too invasive.

I’m well aware of the complaints because I was the one complaining. May I say this is one of the most spectacularly inept responses to a bug report that I’ve ever seen.

The bug was that bad object reporting was stopping the command in progress. That meant the user had to restart the command over every time a bad object was encountereded. Imagine if this logic was extended to other commands? If every command came to a halt when a bad object was created and required a user prompt to get it going again, imagine how annoying that would be.

The request has always been that CheckNewObjects wait until the command is completed before reporting any bad objects. There is nothing the user can do in the middle of a command so its pointless to have a pop-up message that requires user action before the command is complete.

Right. We understand that. As I recall, the developer said the specific behavior you described was not possible in the V5 cycle. I believe it is on the wish list for V6. The current behavior is as good as we could do at the time.

I take exception to your comment about being “…spectacularly inept responses…”. My response was open and honest. Nothing more.

IIRC, the complaints were mostly about when the “Bad Objects” dialog continually popped up after every command even when no bad objects existed. Rhino had to be restarted to avoid the popup after each and every command. Something went haywire with the implementation, not the idea of a popup for bad objects.

simple thing to implement. [quote=“John_Brock, post:13, topic:3348”]
As I recall, the developer said the specific behavior you described was not possible in the V5 cycle. I believe it is on the wish list for V6. The current behavior is as good as we could do at the time.

It sure looks inept to me. Delaying the message box that reports bad objects until a command has completed seems like a pretty simple function to implement.

As it stands now there is no visible indication that bad objects have been introduced. when importing or opening a file. Users who have CheckNewObjects set to “yes” are going to assume that means a file is clean when it may not be.

Then I would recommend the following:
Every time you import a file, follow the import with SelBadObjects. If nothing is selected, you’re golden.
I routinely do that whenever I open a customer’s file.

Perhaps you should consider writing a modeling tool that works better than Rhino. We do the best we can given the talent and resources we have to work with. Maybe we’re not very good at it. It doesn’t mean we can’t do better but maybe there’s an opportunity for you.

I too do not totally understand this… If Rhino can write to the command line the number of bad objects once the import completes (and not interrupt the import process), then it can surely pop up the same information in a message box once the import is done… That’s really only a difference (if it was scripting) between Rhino.Print(info) and Rhino.MessageBox(info)…

However, since you can import multiple files at once (by drag and drop for example) perhaps it is more difficult to deal with collecting the info over multiple imports and spitting that out at the end… dunno…


1 Like