Check new objects


#1

I run this command automatically at startup, but two things annoy me about it:

  1. why does it bring up a dialog saying “automatically check new objects”?
    Uhhh let me see…didn’t I just run that command, so I guess actually I do want to check new objects perhaps…?
    Its like if my car flashed a message up on the console after I’d turned the ignition key “Start engine?”, and which I had to confirm before anything would happen - its a nonsense.

  2. I’d like to see some visual confirmation the command was enabled - on the status bar would be good.
    And, re the status bar, I’d like to have some proper control over what was displayed down there, beyond being able to turn it on or off.
    I don’t need to know, for example, that my units are mm (I never model in anything else), nor do I need the grid snap button, or even the osnap button, because I always have the osnap boxes displayed.

Cheers
rabbit


#2

CheckNewObjects is a toggle command that lets you modify your preferences for Rhino to run the Check Command automatically every time a new object is added to the document. This setting is persistent AFAIK. You don’t need to run the command at startup.

That said, it could/should be another modelling aid (or diagnostics or whatever category) option checkbox and the command would just initiate the toggle without the Popup-Window.


(Menno Deij - van Rijswijk) #3

Run it in scripted mode (that is, use a dash before the command name) at start-up

_-CheckNewObjects Check=Yes _Enter

This will suppress dialog boxes.


#4

@menno - thanks, that does the trick nicely.

@HaLo - well, it might be persistent, but how would anyone know? There is no confirmation whether the thing is enabled or not…
The first thing you know about it is if it picked something up; if it wasn’t on, it would never pick anything up, and you’d never know…(!?!)

cheers
rabbit


#5

CheckNewObjects should be enabled by default. I say should, as the documentation is lacking in that point. From personal experience found the setting to be persistent and believe, that the check cought some bad objects without me enabling any checks. So unless you know about it, it should run silently until you create your first bad object. The pop up then lets you decide to either continue automatic checking or to disable it. If you for some reason want to enable or disable it, you can use the above command.

After execution, the current state is echoed in the command prompt. This is actually pretty useless, as you would probably know which button you just clicked… Anyway, if you are unsure about the state, just set it.

Then again, bad objects will cause trouble soon, checked or unchecked. So you will know about them. :wink: btw.: the definition of “bad object” seems to be pretty unsatisfactory for a lot of people to begin with…

That said, I agree, this option could be made more visible. I suggested a check box in the options dialog. Would that help solve your frustration?


(Bob McNeel) #6

There are a few reasons that it might not be a good idea to enable CheckNewObjects by default… yet

  1. The “checkIng” tools were designed for the programmers and the information they provide is not very useful to most users.
  2. The “check” does not give the users any good clues about what they should do different.
  3. There can be many different criteria for what is a “Bad Object” depending on how the object will be used later.

One of the 6,000 open issues is to provide a “Check for Humans” tool. I don’t know if we are going to get to it any time soon.


(Wim Dekeyser) #7

I kinda disagree with this one. As long as there isn’t anything better, one should at least have this one enabled at all time.


#8

Well my memory of checknewobjects first appearing (sometime in V4 or maybe even late v3), and this may well just be coincidence, was after a discussion on the newsgroup.
From memory, I was part of a discussion that went along the lines that what was the point of rhino allowing entities it “knew” were bad to continue to be used in the model making process, where later on they caused all sorts of problems.
Since that time, I have it on always - the point for me is not so much that rhino lacks a response that allows me to understand the technical reason why an object is bad, but rather to immediately undo the operation, and find another way to proceed that doesn’t cause the problem.
Over the last few years it has saved me from many many potential problems by this “first alert” feature.
Some commands are still buggy - MakeHole, Silhouette for example (as recent as yesterday the command caught results of silhouette here).
Also, it will tell me if imported stuff is ok - for example a model of a commercial part in stp format I needed to use was flagged. I was easily able to ExtractBadSrf and fix the problem.
Rather than your mythical checkforhumans tool, you should be providing a robust set of tools (as for example in solid works, inventor, AutoPol) that catch errors and flag objects that cause problems when the model or parts of it are exported for downstream processing eg laser and water cutting, machine folding and so on.
It was only by running parts through inventor I was recently able to see and fix problems that rhino thought were fine, but were continuously rejected by downstream manufacturing applications.
Note I didn’t model or actually fix anything in inventor, I used it as a rather expensive add on to run checks - as I said somewhere else in another post, rhino has all the tools to create robust and clean models; what is seriously lacks are the tools (standard in competing, but admittedly more expensive software) to analyse and check these models.
Until it has these, exporting parts to downstream manufacturing processes are pretty much flying blind.
Further, tools it does have that can help are either poor (seldup - see post by Roland earlier) or “hidden”. An example of a “hidden” tool that can often sort out short and overlapping curves is CurveBoolean - but who would know?
We wouldn’t know because the actual name of the tool, and its location in the UI, give no clue it could be used this way. (UI discussion again…)

So, in absence of anything else, checknewobjects is the best first defence I’ve found against stuff going haywire, and at present I cant see a valid reason to not have it running all the time.

cheers
rabbit