Wish: Global Colors


Could we have ‘global colors’ = ‘color styles’ in the Document Properties, next to hatches and linetypes, please?
Every color selector panel would show these, next to the fixed selection of colors.

It goes without saying that changing a global color would change all occurrences in the scene.

Best regards

(Pascal Golay) #2

Hi Eugen -

So, if you had a color called Pink and you changed the definition to 0,0,255, then everywhere ‘Pink’ was used in the interface, rendering, display modes… would turn blue? How global are you envisioning this to be, exactly? I can tell you it is not going to happen in V6, but I would like to know exactly what you have in mind…



Hello Pascal!
Correct. Just similar to a line or dimension style. You change it, and every occurrance in the scene that used this global color updates.
Display color, layer color, materials color, …
In the UI, every ‘Select Color’ dialog panel (color wheel) would show the global color list next to the list of standard colors, I’d imagine.

It would also make sense, of course, to be able to import/export a set of colors, from the Rhino prefs. An office could have a set of colors they always use in their plan graphics, also referring to norms, maybe.

I use VisualArq a lot, which lets one choose color, linetype, pattern, … per object part. Yesterday I had to change many styles to the same color. I’d have to go through all of them again, manually, if I’d like to change it.

This would be in addition to ‘regular’, or non-global colors, of course. You don’t have to use them if you don’t need them.

In the DTP world, this has been a standard feature for many years. Adobe InDesign, Affinity Designer, CorelDraw, … all support global colors.

Best regards

(Pascal Golay) #4

Hi Eugen - thanks - is the global list at the application level, or the document level (i.e. you’d store it in your template file) ? At the app level it seems much simpler, but it also seems like all kinds of things could go wrong, say by sending a file to someone with a different list…



Just had a look how they do this in Affinity Designer (= nice new vector drawing program). It supports both adding a ‘Document Palette’ and an ‘Application Palette’.
A Palette is, of course, an import/exportable set of colors. It can contain global colors, too.

Both makes sense.

Best regards

(Pascal Golay) #6

Hi Eugen - thanks - sorry I am still not 100% sure I know how the global colors are held… a palette can contain colors including global colors, I get that, but what comes to mind is this: If my global color called pink is one shade and yours is another, what wins when I send you a file? Or, what wins if there is a discrepancy between Application and Document palettes’ globals? Or does the application set apply only to UI and the document set apply to things within the geometry, so you could conceivably have two different ‘pink’ colors, one in UI and one in the document for materials etc. i.e. sort of semi-global… Somehow that makes the most sense to me at the moment…



Hi! Good analytical thinking… =)

Let’s think it through and look at the popup menu for an object’s color:

  • There’s an entry ‘By Layer’ and ‘By Object’, because Rhino knows ‘inheritance’.
    In the Layers panel columns, you can define a layer’s color, linetype, weight and Material, which can be used as overrides. Other programs like Illustrator, Affinity Designer etc. don’t have this…

  • Then there are a list of basic colors (red, yellow, green, …). Aren’t these in a way already ‘global colors’?
    Except they would need to be editable. Maybe that’s just what I mean!
    So, the simple solution could be: there are ONLY global colors! Exactly like Linetypes, Hatches, DimStyles, Materials…
    There could be a new ‘Colors’ entry in the Rhino Options > Document Properties, where the palette is listed.

Adobe Illustrator has both global and local colors. At a closer look - are local colors really needed when there can be an unlimited number of global colors? Adobe InDesign for example only knows global colors.

  • Then there’s the entry ‘Other’ in the menu, to create a new unique color.
    This menu entry could be named ‘New’, and would simply open the new Color palette in the Rhino options (or some floating palette, which does the same). Only there could you add a color with the color wheel.
    There could be ‘fixed’ colors in this new palette, for a quick start, that are undeletable.

Btw.: in that sense, for the object property ‘Linetype’, there could also be a ‘New’ or ‘+’ entry in the dropdown menu, which just opens Document Properties>Linetypes. Also goes for hatches.

About import/export:
As of now, Styles can be imported, but not exported in the Rhino Options. Why?
Or does ‘OptionsExport’ also export styles? I believe so… but then why not make it more ‘granular’ and add an ‘Export’ button in each Style list?
Same would go for the new ‘Color’ palette.

What say you?

Best regards


I think “global” colors are great IF they are restricted to file only. The moment you mix file colors with interface and display modes then you are in deep mess. Having a set of customizable, but not global colors is also a good idea. Maybe as a last-used-values list.


Right, interface colors should be left untouched.

Agreed on ‘document level’ = ‘file’ global colors would be sufficient. Just like linetypes etc.

(Pascal Golay) #10

Hi Eugen - what do applications that use this concept do when there is a color name collision? Linetypes in Rhino keep the file linetype, not the imported file’s linetype. I guess the potential for ‘misrepresenting’ colors, in say a render material is there, and possibly serious…

BTW, the way in which colors are used would need a complete re-think, I suppose - we currently just use the assigned rgb value, it would need to be rejiggered to look at an entry in a list of colors as well - my guess is this is not straightforward, but that is just a guess.



I checked what InDesign does - if there is a name clash when loading a color set, ’ copy’ is simply appended to the duplicate’s names.

Yes, colors could not be assigned directly anymore, but by an index in a lookup table = a palette.
But that in itself is not an unelegant solution, is it?

This is how the Swatches palette looks like in InDesign:

Best regards

(Pascal Golay) #12

Hi Eugen- thanks - is this it, in a nutshell:




Perfect, thanks!! =)

A detail:
Before any swatches can be exported in InDesign, they need to be selected (white frames around swatches).
That way you don’t need to export the whole palette all the time, but just what you need.

Anyway, I trust you will find a good solution the ‘Rhino ways’.