Assign different layers/materials to all items with one click


for rendering in keyshot I had so many occasions for testing textures where I wanted to distribute all items to different layers automatically (creating layers). Is there a script or routine for this?

(John Brock) #2

I’m not sure I understand…
If your ‘range select’ the layers you want to chance (click the first one, hold Shift, click the last), then select the material of any of the selected layers, then they will all change at once.
Is that what you mean?


No not exactly, when I create random geometry like here I want to drag and drop materials in Keyshot on each item separately. Therefore every item has to be on a separate layer. Since they are on the default layer I’m looking for a method to instantly assign a new layer to any item or group that I would select. Is there a script to automate this? thx John for your help on this!

(John Brock) #4

Maybe someone could write a script but not me. I’m too busy with this other stuff to do any scripting. Sorry.
Perhaps the Keyshot people have something since it’s their tool you need to accommodate. Just a guess…

(Pascal Golay) #5

Here’s a script that should help- To use the script, extract and save the .rvb file from the attached zip archive, then drag and drop the saved rvb over an open Rhino V4 or v5 window. This will load the script, set it up to load on startup in the future and register the alias


that will run the script much like a regular command. An alias can be typed or added to a toolbar button or keyboard shortcut (F-key). (418 Bytes)



Hi Hannes,

Also have a look at this topic, it was the same type or request:



Pascal! Thx a ton for this awesome step in creating this script. This is a a drastic time saver. Thx thx thx Hannes


Willem thx for pointing out. Will have a look on this instantly. Is this the same script? Does either one of these scripts recognize even groups, if you group beforehand? thxH


Hi Hannes,

I could not resist and made this script that will allow for grouped objects to be places together on a new layer:

ObjectsGroupsToLayers.rvb (2.6 KB)

Let me know if it does what you need.


Assign Objects to Individual Layers

Willllllllem! This thingy rocks my work. So kind mindset. owe u something, made my day!



Hi Pascal!

I want to model an entire retail store on Rhino and render it with Keyshot. There are going to be hundreds of components. Eg.: One wall having five segments with different textures.
To be able to render it on Keyshot, I cannot make those many layers!
How do I go about this project?
Please suggest.

(Pascal Golay) #13

Hi Nikhil - I guess you can put all objects that share a material on the same layers - would that work for keyshot?



I don’t get it. Never heard of any layer limit in KS. As you see my old project above had so many layers, every part, one layer, all rendered KS. You can place them also manually on different layers. If you are talking of 5 different parts of the wall, this is not that many. Just grab the components with the same material manually and assign to a layer
Should be easy in keyshot 6 to assign materials to different surfaces of parts now. ‘subpart’-selection should work now.
Personally i don’t like keyshot for this kind of project since this can get tedious.

btw. there was a very informative series called Keyshot Master Series, watch this, totally in depth on workarounds in Keyshot 6, this one is on Material Control: