Le 2012-05-02 18:22, CoDEmanX a écrit :
> I wrote a small script, which should remove unused materials from
> material slots of all selected objects:
>
> import bpy
>
> bpy.ops.object.mode_set(mode='OBJECT', toggle=False)
>
> for ob in bpy.context.selected_objects:
>       if ob.type != 'MESH':
>           continue
>
>       mat_slots = {}
>       for p in ob.data.polygons:
>           mat_slots[p.material_index] = 1
>
>       mat_slots = mat_slots.keys()
>
>       for i in range(len(ob.material_slots)-1, -1, -1):
>           if i not in mat_slots:
>               bpy.context.object.active_material_index = i
>               bpy.ops.object.material_slot_remove()
>
> seems to work well...
>
Thank you for your answer. :)

Yes it does work very well on one object at a time. For a selection, not 
so well here. Unfortunately I have only three minutes of freedom left 
for now. I'll explore the causes when I'm back in about 10 hours time 
and let you know the results. In any case your script has everything to 
solve the problem for me in the most elegant manner that is afforded to 
us by the API. Yeah!

J.

_______________________________________________
Bf-python mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-python

Reply via email to