GH CMYK Channel Messes Up Values?

Hi guys,

Im in the need of creating some colors in CMYK channels. I noticed GH has a component for it. What I also noticed is that the output colors are automatically converted to RGB, which makes me wonder what is the point of having a CMYK component.

My problem is the following:

I baked the objects with the colors assigned from GH, exported to Ai with CMYK option, checked the color values inside Ai and they are pretty much messed up…

How can I keep my geometry with its original CMYK values from GH into a PDF for example?
My is guess that the converting from CMYK to RGB(Gh Bake) and then from RGB to CMYK(export to ai) is messing my color values…

Grasshopper doesn’t support a native CMYK color type, which means everything transferred into a Colour param will become ARGB. The worse news is RhinoCommon as well as the foundation dotnet framework on doesn’t support CMYK natively. I can’t see a good solution here.

You could use the fomula to convert RGB to CMYK.


RGB to CMYK.gh (12.5 KB)

1 Like

Hi Kim, thank you, but I am afraid this does not solve my problem. I have the values themself.
I could also obtain them just by plugging the inputs of C, M, Y, K into a panel.

The issue is that when I export my colored geometry from Rhino or GH, it does not maintain my color values. You can try this. Create a CMYK color, bake it, export it an open it in Ai or any vectorial software. The color value will be different from the one you inputted in GH.

So there is really no solution to this? Basically I shouldn’t use Rhino to print without some kind of post processing? This is really bad.

Colors in Rhino and Grasshopper (and practically all other software which isn’t specifically graphic design software) are RGB triplets. The colour components in Grasshopper allow you to create rgb colours from some other models, or represent rgb colours as channel values in some other model, but there is no intrinsic colour type which supports CMY, CMYK, L*a*b*, xyY, Luv, XYZ, scRGB, HSV, HSL, HSI, …

You can print from rgb source. The conversion from rgb to cmy to cmyk is lossless and handled by your printer driver. Your printer may have a gamut which exceeds the sRGB spec, so if you need specialised functionality like that Rhino is not for you. Although I struggle to imagine exactly how you’re going to get images from Rhino into -say- photoshop which exceed the sRGB gamut.

Hi David, thanks for you reply.

I might be misunderstanding something but “going from just about any RGB color space to CMYK will clip off signifigant colors, so yes, a round trip from RGB>CMYK>RGB will end up clipped because CMYK > RGB can’t magically regain the clipped color data”.

I am working with CMYK because I am going to print my work, and I need specific CMYK values.

I baked my colored geometry from GH and exported to Ai with CMYK channels, but the values from Ai differ from the ones I plugged into the CMYK component, which are the ones I need.

You mentioned the conversion is handled by the printer… Are you suggesting I should work with the HSL or RGB conversion from my CMYK values and leave the conversion back to CMYK to the printer?

Thank you.