[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [4793] contrib/py/scripts/addons/ oscurart_tools: Allow overrides for linked objects! Thanks Campbell.
Eugenio Pignataro
info at oscurart.com.ar
Thu Oct 10 20:58:24 CEST 2013
Revision: 4793
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=4793
Author: oscurart
Date: 2013-10-10 18:58:24 +0000 (Thu, 10 Oct 2013)
Log Message:
-----------
Allow overrides for linked objects! Thanks Campbell.
Modified Paths:
--------------
contrib/py/scripts/addons/oscurart_tools/oscurart_overrides.py
contrib/py/scripts/addons/oscurart_tools/oscurart_render.py
Modified: contrib/py/scripts/addons/oscurart_tools/oscurart_overrides.py
===================================================================
--- contrib/py/scripts/addons/oscurart_tools/oscurart_overrides.py 2013-10-10 16:52:46 UTC (rev 4792)
+++ contrib/py/scripts/addons/oscurart_tools/oscurart_overrides.py 2013-10-10 18:58:24 UTC (rev 4793)
@@ -35,11 +35,14 @@
for OVERRIDE in PROPTOLIST:
for OBJECT in bpy.data.groups[OVERRIDE[0]].objects[:]:
if OBJECT.type == "MESH" or OBJECT.type == "META" or OBJECT.type == "CURVE":
- if len(OBJECT.material_slots) > 0:
- for SLOT in OBJECT.material_slots[:]:
- SLOT.material = bpy.data.materials[OVERRIDE[1]]
- else:
- print ("* %s have not Material Slots" % (OBJECT.name))
+ OBJECT.data.materials.clear()
+ OBJECT.data.materials.append(bpy.data.materials[OVERRIDE[1]])
+
+ #if len(OBJECT.material_slots) > 0:
+ # for SLOT in OBJECT.material_slots[:]:
+ # SLOT.material = bpy.data.materials[OVERRIDE[1]]
+ #else:
+ # print ("* %s have not Material Slots" % (OBJECT.name))
with open(ENTFILEPATH, mode="w") as file:
file.writelines(str(LISTMAT))
@@ -53,10 +56,12 @@
RXML = file.readlines(0)
LISTMAT = dict(eval(RXML[0]))
# RESTAURO MATERIALES DE OVERRIDES
- for OBJ in LISTMAT:
+ for OBJ in LISTMAT:
+ OBJ.data.materials.clear()
if OBJ.type == "MESH" or OBJ.type == "META" or OBJ.type == "CURVE":
for SLOTIND, SLOT in enumerate(LISTMAT[OBJ]):
- OBJ.material_slots[SLOTIND].material = SLOT
+ #OBJ.material_slots[SLOTIND].material = SLOT
+ OBJ.data.materials.append(SLOT)
Modified: contrib/py/scripts/addons/oscurart_tools/oscurart_render.py
===================================================================
--- contrib/py/scripts/addons/oscurart_tools/oscurart_render.py 2013-10-10 16:52:46 UTC (rev 4792)
+++ contrib/py/scripts/addons/oscurart_tools/oscurart_render.py 2013-10-10 18:58:24 UTC (rev 4793)
@@ -52,8 +52,10 @@
for OVERRIDE in PROPTOLIST:
for OBJECT in bpy.data.groups[OVERRIDE[0]].objects[:]:
if OBJECT.type == "MESH" or OBJECT.type == "META" or OBJECT.type == "CURVE":
- for SLOT in OBJECT.material_slots[:]:
- SLOT.material=bpy.data.materials[OVERRIDE[1]]
+ OBJECT.data.materials.clear()
+ OBJECT.data.materials.append(bpy.data.materials[OVERRIDE[1]])
+ #for SLOT in OBJECT.material_slots[:]:
+ # SLOT.material=bpy.data.materials[OVERRIDE[1]]
except:
pass
SCENENAME=os.path.basename(FILEPATH.rpartition(".")[0])
@@ -76,11 +78,13 @@
layer.use = 1
SCENE.render.filepath = ENDPATH
for OBJECT in LISTMAT:
- SLOTIND=0
+ print(OBJECT[0].data.materials[:])
+ OBJECT[0].data.materials.clear()
try:
for SLOT in OBJECT[1]:
- OBJECT[0].material_slots[SLOTIND].material=SLOT
- SLOTIND+=1
+ #OBJECT[0].material_slots[SLOTIND].material=SLOT
+ #SLOTIND+=1
+ OBJECT[0].data.materials.append(SLOT)
except:
print("OUT OF RANGE")
if frametype == True:
@@ -144,8 +148,10 @@
for OVERRIDE in PROPTOLIST:
for OBJECT in bpy.data.groups[OVERRIDE[0]].objects[:]:
if OBJECT.type == "MESH" or OBJECT.type == "META" or OBJECT.type == "CURVE":
- for SLOT in OBJECT.material_slots[:]:
- SLOT.material=bpy.data.materials[OVERRIDE[1]]
+ OBJECT.data.materials.clear()
+ OBJECT.data.materials.append(bpy.data.materials[OVERRIDE[1]])
+ #for SLOT in OBJECT.material_slots[:]:
+ #SLOT.material=bpy.data.materials[OVERRIDE[1]]
except:
pass
SCENENAME=os.path.basename(FILEPATH.rpartition(".")[0])
@@ -168,11 +174,13 @@
layer.use = 1
SCENE.render.filepath = ENDPATH
for OBJECT in LISTMAT:
- SLOTIND = 0
+ #SLOTIND = 0
+ OBJECT[0].data.materials.clear()
try:
for SLOT in OBJECT[1]:
- OBJECT[0].material_slots[SLOTIND].material = SLOT
- SLOTIND += 1
+ OBJECT[0].data.materials.append(SLOT)
+ #OBJECT[0].material_slots[SLOTIND].material = SLOT
+ #SLOTIND += 1
except:
print("OUT OF RANGE")
if frametype == True:
@@ -228,8 +236,10 @@
for OVERRIDE in PROPTOLIST:
for OBJECT in bpy.data.groups[OVERRIDE[0]].objects[:]:
if OBJECT.type == "MESH" or OBJECT.type == "META" or OBJECT.type == "CURVE":
- for SLOT in OBJECT.material_slots[:]:
- SLOT.material = bpy.data.materials[OVERRIDE[1]]
+ OBJECT.data.materials.clear()
+ OBJECT.data.materials.append(bpy.data.materials[OVERRIDE[1]])
+ #for SLOT in OBJECT.material_slots[:]:
+ #SLOT.material = bpy.data.materials[OVERRIDE[1]]
except:
pass
SCENENAME=os.path.basename(FILEPATH.rpartition(".")[0])
@@ -252,11 +262,13 @@
layer.use = 1
SCENE.render.filepath = ENDPATH
for OBJECT in LISTMAT:
- SLOTIND = 0
+ #SLOTIND = 0
+ OBJECT[0].data.materials.clear()
try:
for SLOT in OBJECT[1]:
- OBJECT[0].material_slots[SLOTIND].material=SLOT
- SLOTIND += 1
+ OBJECT[0].data.materials.append(SLOT)
+ #OBJECT[0].material_slots[SLOTIND].material=SLOT
+ #SLOTIND += 1
except:
print("FUERA DE RANGO")
if frametype == True:
@@ -460,4 +472,4 @@
def execute(self,context):
defoscPythonBatchMaker(self.type, self.size)
return {'FINISHED'}
-
+
\ No newline at end of file
More information about the Bf-extensions-cvs
mailing list