Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import bpy
- def deleteNodeTree(scene, override):
- scene.node_tree.nodes.clear()
- def copyNodeTree(scene, override):
- bpy.ops.node.select_all(override, action = 'DESELECT')
- bpy.ops.node.select_all(override, action = 'SELECT')
- bpy.ops.node.clipboard_copy(override)
- def pasteNodeTree(scene, override):
- bpy.ops.node.select_all(override, action = 'DESELECT')
- bpy.ops.node.select_all(override, action = 'SELECT')
- bpy.ops.node.clipboard_paste(override)
- def getOverride(type, regionType):
- Override = False
- for window in bpy.context.window_manager.windows:
- for area in window.screen.areas:
- if(area.type == type):
- Override = {"window": window, "screen": window.screen, "area": area, "scene" : bpy.context.scene}
- break
- if(not Override):
- bpy.context.window_manager.windows[0].screen.areas[0].type = type
- Override = {"window": bpy.context.window_manager.windows[0], "screen": bpy.context.window_manager.windows[0].screen, "area": bpy.context.window_manager.windows[0].screen.areas[0], "scene" : bpy.context.scene, "region" : bpy.context.region}
- if(regionType):
- for region in Override["area"].regions:
- if(region.type == regionType):
- Override["region"] = region
- return Override
- if len(sys.argv) < 6:
- raise Exception("Usage: blender -b blend_file --python script.py
- target_scene_name")
- blend_file = sys.argv[2]
- target_scene_name = sys.argv[5]
- bpy.ops.wm.open_mainfile( filepath = blend_file )
- #Copia su tutte le scene le impostazioni dei nodi di output prese dalla scena selezionata (target_scene_name)
- bpy.context.screen.scene = bpy.data.scenes[target_scene_name]
- override = getOverride('NODE_EDITOR', False)
- copyNodeTree( bpy.context.screen.scene, override)
- for scene in bpy.data.scenes:
- if scene.name != target_scene_name:
- bpy.context.screen.scene = bpy.data.scenes[scene.name]
- scene = bpy.context.screen.scene
- print("Deleting output options from scene: " +
- bpy.context.screen.scene.name)
- deleteNodeTree(scene, override)
- print("Pasting output options to scene: " +
- bpy.context.screen.scene.name)
- pasteNodeTree(scene, override)
- bpy.ops.wm.save_as_mainfile(filepath = blend_file, compress=False)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement