Apply material to group/model with same volume
-
Is there plugin which applies the material/texture to groups of same volume.
The idea is similar to coreldraw's "copy properties from", in which it will ask for source object from where properties has to be copied.
why volume?
It can be applied by group's name also but it might be possible that after making cloning of groups some of them might be intentionally modified(but name of that group might not been changed) in size.where it can be use?
usually where groups/models are cloned ex. windows,doors,windows glass etc. -
Try something like this
m=Sketchup.active_model;ms=m.materials;gs=m.active_entities.grep(Sketchup;;Group);m.start_operation('vmat');gs.clone.each_with_index{|g,i|next unless gs.include?(g);v=g.volume;(gs.delete(g);next)if v<=0;g.material=(ma=ms.add('vmat#1'));ma.color=[rand(255),rand(255),rand(255)];ma.alpha=0.5;gs.clone.each{|gg|(gg.material=ma;gs.delete(gg))if gg.volume==v};};m.commit_operation;
This colors all groups in the active context which share the same volume, in a new random material [alpha=0.5]...
Non-solid groups [volume <=0... usually -1] are ignored...
Advertisement