[Plugin] GreyscaleMode
-
Jim: I see you use the average of r, g and b to get the greyscale color.
A often used and more visually correct way is to use this formula:Greyscale = (r * 0.3) + (g * 0.59) + (b * 0.11);
-
Great!!!
Thank you Jim!!!Daniel S
-
Coen, I couldn't find a way to do this with existing style settings. I'd be happy to learn it though.
-
Thanks Jim!
-
Thanks a ton this is VERY helpful.
-
Good stuff Jim, thanks!
-
Nice ...It renders black and white in Podium but keeps the colour of the sky ( i presume ground as well)
It would be nice to be able to choose say one colour which could stay as colour ...
Thanks Jim .... -
Sepo, after making the model all grey, right click on a face containing the color you wish to show. Choose Revert color from the menu.
-
Aha...cheers Dave did not pick that up...Cool. Any chance to actually have more than 10 shades of grey. That would make renders nicer.
-
As I understand it, Jim's method of creating the gray values is to average the RGB values and apply that number to all of the RGB settings. I don't think we're limited to 10 steps as was discussed in the other thread.
-
Actually I think you are correct ... discard the last bit
-
@unknownuser said:
I like it and thanks, but can't this be done using a Style?
I agree, Coen. A face style. That way we could save it to styles and scenes.....
It wound allow us to 'revert color' in a style / scene though I wouldn't think..... Jim?
-
TY " You're Good !!"
-
@utiler said:
@unknownuser said:
I like it and thanks, but can't this be done using a Style?
I agree, Coen. A face style. That way we could save it to styles and scenes.....
It wound allow us to 'revert color' in a style / scene though I wouldn't think..... Jim?
Thanks and you're welcome, everyone.
Having it work as a Face Style would be nice. Face Styles can be selected in Ruby by setting an option called the RenderMode. There is just not a way to create a new Face Style that I can see.
Like Dave said, I don't think a Style is an option either. There is no control over individual colors in a Style.
The idea of saving material changes between Scenes is a completely separate plugin...
-
You're right Jim, that's the only thing that restricts it from being a 'face style' option. It would be nice to be able to "update scene" individually rather than a ruby that effects the model period....but that takes away from the "reverse color" option....
I guess if this was a face style and we wanted to 'spot color' an element, we could set up diferent components and scenes then import into Layout and overlay scenes.....a round about way of doing things though and getting into another topic, 'more than one style in a drawing / file'.
Five Star, Jim.
-
this is just Awesomely Good.
Thanks! -
Hi Guys,
A word of caution; utiler has reported he was not able to get the right-click "revert" color option using this plugin. I'm not sure why, but it may mean that the script could "forget" your original material colors. I'm looking into it.
EDIT: There is no danger of loosing the original colors. The error was caused because the default color returns nil when asked for its material.
-
Jim,
Thanks for the warning. I haven't seen that problem but I'll keep my eyes open and let you know.
Dave
-
Hi,
This happens when the face has default material, here is the error message:
Error: #<NoMethodError: undefined method `get_attribute' for nil:NilClass>because in the code, line 16:
material = sel.material -> equals nil when no material on face
then line 18:
rgb = material.get_attribute("GreyScaleColors", 'rgb')
get_attribute method can be used on nil and then no context menu.
This would be better:if sel.typename == "Face" and sel.material material = sel.material ...
@unknownuser said:
it may mean that the script could "forget" your original material colors
This is impossible IMHO... Attributes on non-geometric objects such as layers and materials, once set, cannot be accessed by the user, lost, erased, or forgotten, unless the script itself does erase them.
Last note: I've been told that (red+green+blue)/3 does not give an exact gray value. What Gimp or PS do to desaturate an image for instance is:
gray_value=([red,green,blue].max + [red,green,blue].min)/2.0
Sketchup::Color.new( gray_value, gray_value, gray_value )
My 2 cts (of Euros )
-
The plugin goes through all in-model materials and changes them to a grey value. The default face color is completely ignored as it does not appear in the in-model materials list, and this is when the material is nil.
So the question is, should the plugin also change the default face color to a grey value?
Does anyone have a preference for how the greyscale value is calculated? If not, I will try the method suggested by Didier.
Thanks, Didier for taking the time to help.
Advertisement