[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3950] contrib/py/scripts/addons/ oscurart_tools.py: Clean Code in render Tools
Eugenio Pignataro
info at oscurart.com.ar
Sat Nov 10 22:57:02 CET 2012
Revision: 3950
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3950
Author: oscurart
Date: 2012-11-10 21:56:59 +0000 (Sat, 10 Nov 2012)
Log Message:
-----------
Clean Code in render Tools
Modified Paths:
--------------
contrib/py/scripts/addons/oscurart_tools.py
Modified: contrib/py/scripts/addons/oscurart_tools.py
===================================================================
--- contrib/py/scripts/addons/oscurart_tools.py 2012-11-10 16:36:31 UTC (rev 3949)
+++ contrib/py/scripts/addons/oscurart_tools.py 2012-11-10 21:56:59 UTC (rev 3950)
@@ -37,7 +37,7 @@
import time
import random
-#r03
+#r05
## CREA PANELES EN TOOLS
@@ -683,17 +683,13 @@
def defRenderAll (frametype):
-
-
LISTMAT=[]
SCENES=bpy.data.scenes[:]
ACTSCENE=bpy.context.scene
FC=bpy.context.scene.frame_current
FS=bpy.context.scene.frame_start
FE=bpy.context.scene.frame_end
-
print("---------------------")
-
## GUARDO MATERIALES DE OBJETOS EN GRUPOS
for OBJECT in bpy.data.objects[:]:
SLOTLIST=[]
@@ -706,27 +702,19 @@
except:
pass
-
-
for SCENE in SCENES:
PROPTOLIST=list(eval(SCENE['OVERRIDE']))
CURSC= SCENE.name
PATH = SCENE.render.filepath
ENDPATH = PATH
FILEPATH=bpy.data.filepath
-
-
-
# CAMBIO SCENE
bpy.context.window.screen.scene=SCENE
-
if frametype == True:
bpy.context.scene.frame_start=FC
bpy.context.scene.frame_end=FC
bpy.context.scene.frame_end=FC
bpy.context.scene.frame_start=FC
-
-
## SETEO MATERIALES DE OVERRIDES
try:
for OVERRIDE in PROPTOLIST:
@@ -736,41 +724,28 @@
SLOT.material=bpy.data.materials[OVERRIDE[1]]
except:
pass
-
- if sys.platform.startswith("w"):
- print("PLATFORM: WINDOWS")
- SCENENAME=(FILEPATH.rsplit("\\")[-1])[:-6]
- else:
- print("PLATFORM:LINUX")
- SCENENAME=(FILEPATH.rsplit("/")[-1])[:-6]
-
+ SCENENAME=os.path.basename(FILEPATH.rpartition(".")[0])
LAYERLIST=[]
for layer in SCENE.render.layers:
if layer.use == 1:
LAYERLIST.append(layer)
-
for layers in LAYERLIST:
for rl in LAYERLIST:
rl.use= 0
-
print("SCENE: "+CURSC)
print("LAYER: "+layers.name)
print("OVERRIDE: "+str(PROPTOLIST))
-
SCENE.render.filepath = "%s/%s/%s/%s/%s_%s_%s_" % (PATH,SCENENAME,CURSC,layers.name,SCENENAME,SCENE.name,layers.name)
SCENE.render.layers[layers.name].use = 1
bpy.ops.render.render(animation=True, write_still=True, layer=layers.name, scene= SCENE.name)
-
print("DONE")
print("---------------------")
## REESTABLECE LOS LAYERS
for layer in LAYERLIST:
layer.use = 1
-
## RESTAURA EL PATH FINAL
SCENE.render.filepath = ENDPATH
-
#RESTAURO MATERIALES DE OVERRIDES
for OBJECT in LISTMAT:
SLOTIND=0
@@ -810,9 +785,6 @@
def defRenderSelected(frametype):
-
-
-
ACTSCENE = bpy.context.scene
LISTMAT = []
SCENES = bpy.data.scenes[:]
@@ -830,8 +802,6 @@
LISTMAT.append((OBJECT,SLOTLIST))
except:
pass
-
-
for SCENE in SCENES:
if SCENE.use_render_scene:
PROPTOLIST = list(eval(SCENE['OVERRIDE']))
@@ -839,18 +809,14 @@
PATH = SCENE.render.filepath
ENDPATH = PATH
FILEPATH = bpy.data.filepath
-
print("---------------------")
-
# CAMBIO SCENE
bpy.context.window.screen.scene = SCENE
-
if frametype == True:
bpy.context.scene.frame_start = FC
bpy.context.scene.frame_end = FC
bpy.context.scene.frame_end = FC
bpy.context.scene.frame_start = FC
-
## SETEO MATERIALES DE OVERRIDES
try:
for OVERRIDE in PROPTOLIST:
@@ -860,41 +826,27 @@
SLOT.material=bpy.data.materials[OVERRIDE[1]]
except:
pass
-
- if sys.platform.startswith("w"):
- print("PLATFORM: WINDOWS")
- SCENENAME=(FILEPATH.rsplit("\\")[-1])[:-6]
- else:
- print("PLATFORM:LINUX")
- SCENENAME=(FILEPATH.rsplit("/")[-1])[:-6]
-
+ SCENENAME=os.path.basename(FILEPATH.rpartition(".")[0])
LAYERLIST=[]
for layer in SCENE.render.layers:
if layer.use == 1:
LAYERLIST.append(layer)
-
for layers in LAYERLIST:
for rl in LAYERLIST:
rl.use= 0
-
print("SCENE: "+CURSC)
print("LAYER: "+layers.name)
print("OVERRIDE: "+str(PROPTOLIST))
-
SCENE.render.filepath = "%s/%s/%s/%s/%s_%s_%s_" % (PATH,SCENENAME,CURSC,layers.name,SCENENAME,SCENE.name,layers.name)
SCENE.render.layers[layers.name].use = 1
bpy.ops.render.render(animation=True, layer=layers.name, write_still=True, scene= SCENE.name)
-
print("DONE")
print("---------------------")
-
## REESTABLECE LOS LAYERS
for layer in LAYERLIST:
layer.use = 1
-
## RESTAURA EL PATH FINAL
SCENE.render.filepath = ENDPATH
-
#RESTAURO MATERIALES DE OVERRIDES
for OBJECT in LISTMAT:
SLOTIND = 0
@@ -904,15 +856,12 @@
SLOTIND += 1
except:
print("OUT OF RANGE")
-
# RESTAURO FRAMES
if frametype == True:
SCENE.frame_start = FS
SCENE.frame_end = FE
SCENE.frame_end = FE
SCENE.frame_start = FS
-
-
# RESTAURO SCENE
bpy.context.window.screen.scene = ACTSCENE
@@ -940,9 +889,7 @@
FS = bpy.context.scene.frame_start
FE = bpy.context.scene.frame_end
-
print("---------------------")
-
## GUARDO MATERIALES DE OBJETOS EN GRUPOS
for OBJECT in bpy.data.objects[:]:
SLOTLIST = []
@@ -953,21 +900,16 @@
LISTMAT.append((OBJECT,SLOTLIST))
except:
pass
-
-
PROPTOLIST = list(eval(SCENE['OVERRIDE']))
CURSC = SCENE.name
PATH = SCENE.render.filepath
ENDPATH = PATH
FILEPATH = bpy.data.filepath
-
-
if frametype == True:
bpy.context.scene.frame_start = FC
bpy.context.scene.frame_end = FC
bpy.context.scene.frame_end = FC
bpy.context.scene.frame_start = FC
-
## SETEO MATERIALES DE OVERRIDES
try:
for OVERRIDE in PROPTOLIST:
@@ -977,42 +919,27 @@
SLOT.material = bpy.data.materials[OVERRIDE[1]]
except:
pass
-
- if sys.platform.startswith("w"):
- print("PLATFORM: WINDOWS")
- SCENENAME=(FILEPATH.rsplit("\\")[-1])[:-6]
- else:
- print("PLATFORM:LINUX")
- SCENENAME=(FILEPATH.rsplit("/")[-1])[:-6]
-
+ SCENENAME=os.path.basename(FILEPATH.rpartition(".")[0])
LAYERLIST=[]
for layer in SCENE.render.layers:
if layer.use == 1:
LAYERLIST.append(layer)
-
for layers in LAYERLIST:
for rl in LAYERLIST:
rl.use= 0
-
print("SCENE: "+CURSC)
print("LAYER: "+layers.name)
print("OVERRIDE: "+str(PROPTOLIST))
-
-
SCENE.render.filepath = "%s/%s/%s/%s/%s_%s_%s_" % (PATH,SCENENAME,CURSC,layers.name,SCENENAME,SCENE.name,layers.name)
SCENE.render.layers[layers.name].use = 1
bpy.ops.render.render(animation=True, layer=layers.name, write_still=1, scene= SCENE.name)
-
print("DONE")
print("---------------------")
-
## REESTABLECE LOS LAYERS
for layer in LAYERLIST:
layer.use = 1
-
## RESTAURA EL PATH FINAL
SCENE.render.filepath = ENDPATH
-
#RESTAURO MATERIALES DE OVERRIDES
for OBJECT in LISTMAT:
SLOTIND = 0
@@ -1022,7 +949,6 @@
SLOTIND += 1
except:
print("FUERA DE RANGO")
-
# RESTAURO FRAMES
if frametype == True:
SCENE.frame_start = FS
@@ -1048,9 +974,6 @@
##--------------------------RENDER CROP----------------------
-## SETEO EL STATUS DEL PANEL PARA EL IF
-bpy.types.Scene.RcropStatus = bpy.props.BoolProperty(default=0)
-
## CREO DATA PARA EL SLIDER
bpy.types.Scene.rcPARTS = bpy.props.IntProperty(default=0, min=2, max=50, step=1)
@@ -1060,105 +983,41 @@
bl_label="Render Crop: Render!"
def execute(self,context):
-
-
- ##AVERIGUO EL SISTEMA
- if sys.platform.startswith("w"):
- print("PLATFORM: WINDOWS")
- VARSYSTEM= "\\"
- else:
- print("PLATFORM:LINUX")
- VARSYSTEM= "/"
-
-
- ## NOMBRE DE LA ESCENA
- SCENENAME=(bpy.data.filepath.rsplit(VARSYSTEM)[-1]).rsplit(".")[0]
-
- ## CREA ARRAY
- PARTES = []
- START = 1
+ FILEPATH = bpy.data.filepath
+ SCENENAME=os.path.basename(FILEPATH.rpartition(".")[0])
PARTS = bpy.context.scene.rcPARTS
PARTS = PARTS+1
- while START < PARTS:
- PARTES.append(START)
- START = START+1
- print(PARTES)
+ PARTES=[i for i in range(1,PARTS)]
-
- ##SETEO VARIABLE PARA LA FUNCION DE RENDER
NUMERODECORTE=1
-
- ##ESCENA ACTIVA
SCACT = bpy.context.scene
-
- ## SETEO CROP
- bpy.data.scenes[SCACT.name].render.use_crop_to_border = 1
- bpy.data.scenes[SCACT.name].render.use_border = 1
-
- ##A VERIGUO RES EN Y
- RESY = bpy.data.scenes[SCACT.name].render.resolution_y
-
- ## AVERIGUO EL PATH DE LA ESCENA
- OUTPUTFILEPATH = bpy.data.scenes[SCACT.name].render.filepath
- bpy.context.scene.render.filepath = OUTPUTFILEPATH+bpy.context.scene.name
-
-
- ## CUANTAS PARTES HARA
+ SCACT.render.use_crop_to_border = 1
+ SCACT.render.use_border = 1
+ RESY = SCACT.render.resolution_y
+ OUTPUTFILEPATH = SCACT.render.filepath
LENPARTES = len(PARTES)
-
- ## DIVIDE 1 SOBRE LA CANTIDAD DE PARTES
DIVISOR = 1/PARTES[LENPARTES-1]
-
- ## SETEA VARIABLE DEL MARCO MINIMO Y MAXIMO
CMIN = 0
CMAX = DIVISOR
-
- ## REMUEVE EL ULTIMO OBJETO DEL ARRAY PARTES
PARTESRESTADA = PARTES.pop(LENPARTES-1)
-
- ## SETEA EL MINIMO Y EL MAXIMO CON LOS VALORES DE ARRIBA
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list