What's the deal with Bifocals for GH in Rhino 6, I can't get it to work?

Oh the humanity! :wink:

After teaching for some time introduction to GH i have seen that the best method for students is a combination of icons + bifocals, that is my own experience on entry level students, now i’m starting to use https://www.food4rhino.com/app/showcasetools and my students love the plug-in.

I’m from the old school of pure command autocad and even in gh i don’t use the panel, just type directly the commands but for teaching is another history…


Anywhere I teach I literally get crucified if I forget to put Bifocals on with icon mode (no one asks for text mode). And this is from all different sources and sets of students. Tells me pretty obviously what the general preference is for educational purposes. (I’ve never been asked to use draw full names on inputs / outputs, thankfully, because it just makes everything huge :smiley: )

“Literally” crucified? That’s harsh.

So beginners believe that icons are useless without text labels. I agree.

We are talking like bombardment of “turn on the bifocals” messages in zoom until I realize I have it off haha. But usually they want the icon mode + bifocals, not text mode, from my experience.

Sunglasses.gha (10 KB)


This is definitively a better alternative than bifocals! (imho)
Well done!


  • not every object get a name on top
  • could be cool to have variable font size
  • I’d personally like to have an option to see “short names” instead (for faster search query of students)

But as simple as it is now it’s already perfect!
Should be a built-in option in grasshopper!

I’m working on a filter right now.


Do you mean to choose to display the nickname instead? Ok.

1 Like

As option.
Nicknames very often are the shortest search query to find the component.
But many people probably prefer full names.

Works for me but looks the same as what you posted three hours ago?
I restarted Rhino but do I need to reboot?

1 Like

You don’t have any options in the menu?

Sorry, this is the last version:
Sunglasses.gha (17.5 KB)

1 Like

Yep, that’s better, I see the menu options now. Very nice work! Will McNeel add it to GH?

P.S. Uh oh, wait a second, I don’t see the names anymore?

What do you mean? It is enabled from menu?

P.P.S. Ah, I was using User Objects that are filtered by default (‘Filter objects | Special’). That’s a usability issue… At the very least, all should be enabled by default. Though I question the need for filtering at all?

I feel guilty of re-upping this thread again, we are way off thread now. :sweat_smile:
But, this is great!
This jumps directly on the “must have” on any rhino installation.

@DavidRutten, are you seeing this?

Question: I happened to have Profiler enabled and at first, the User Objects I chose appeared to have rather high numbers before anything was connected to them. Further testing with and without the new feature, however, didn’t show that it makes any difference at all. But it makes me wonder about possible performance impact? Some of User Object components (clusters) and nested clusters within them, several levels deep, and will never been seen in normal use - so why bother adding labels until they are edited? Will have to try it with more complex models…

It makes sense, I’ll put everything enabled by default. Personally I don’t like that there is more visual information than necessary, and in objects like the slider or the panel, the first day you use GH you already learn those objects. I have put the clusters inside the normal Component filter, it could have more sense than in the Special objects filter.

This was a feature of the next version of Peacock but today I decided to isolate it in a plugin and include user options to share it. I’ve been using it for about a year or so and it doesn’t have a significant impact on time. It only affects the canvas drawing, so it has nothing to do with the profile of the components, which only measure their computation, this is in another context, when the canvas is drawn. You can see its impact using Toolbar > View > Canvas redraw speed, comparing it when it’s off. The only thing it does is to go through all the document objects, ignore those that don’t pass the filter, and draw text. Normal filters shouldn’t have any impact bc are just type comparations, the custom one (Exclusions) can become relevant if you include a lot of them, but I don’t see why someone would do that nonsense.

By design this does not draw objects inside clusters, only the objects in the active document are drawn, and the objects within the clusters belong to their own cluster document.

I’ve tested it with all the filter object checked and it seems to work as expected except Gene Pool. Is there a special reason Gene Poolwas missed?(I found galafagos solver also…) They don’t have name data by design? I’m not sure…

Anyway,thanks for this great feature.

It’s a marvelous piece of work. From a usability point of view, however, the options to ‘Hide on low zoom’ and ‘Filter objects’ add very little value, AFAIC. They could lead to confusion when people modify them and then complain about unexpected behavior.