I’m surprised by this in Rhino 8. Could have sworn someone from McNeel said that they would become per face colors in an old Serengeti (Rhino WIP) topic, but now I can’t find mention of it…
I know it was requested, but I don’t believe it was implemented. IIRC if both (all) objects have per-face colors set, it should work. (Edit: just checked, and it does.) I think I made a script to convert objects to per-face color at that time, let me see if I can find it and if it works…
Here it is:
ConvertToPerFaceColors.py (1.6 KB)
Ah, what’s interesting is that it works to preserve the per-face colors on the surfaces, however, the result still has one single “object color” which is applied to all the edges. So the results can be funny.
Thanks for the script! Your observations are unfortunately correct.
Here’s what I think Rhino should do, and maybe the script can be modified to do it:
- Check if the selection contains objects of different color.
- If so, convert all but one of those objects to per face colors instead.
- Boolean union them to get a correctly colored result.
Unfortunately I haven’t learned scripting well enough to modify it, but maybe one of these days I’ll take my time to try.
Well, it is possible that people will want to have the result be one single object with one single color. So that means we would need a PreservePerFaceColors=Yes/No
command line switch on all the Boolean operations - but also Join etc.! - or something That’s a pretty extensive modification and who knows what else it might break…
If you don’t have a lot of objects, mouse pick select the object you want to retain the object color first, then the rest. I think the result will take on the object color of the first picked object.