﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3APy%2FScripts%2FCookbook%2FCode_snippets%2FBatch_run</id>
	<title>Dev:Py/Scripts/Cookbook/Code snippets/Batch run - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=Dev%3APy%2FScripts%2FCookbook%2FCode_snippets%2FBatch_run"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Py/Scripts/Cookbook/Code_snippets/Batch_run&amp;action=history"/>
	<updated>2026-06-03T15:21:34Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:Py/Scripts/Cookbook/Code_snippets/Batch_run&amp;diff=104831&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Py/Scripts/Cookbook/Code_snippets/Batch_run&amp;diff=104831&amp;oldid=prev"/>
		<updated>2018-06-28T19:43:26Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 19:43時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=Dev:Py/Scripts/Cookbook/Code_snippets/Batch_run&amp;diff=104830&amp;oldid=prev</id>
		<title>wiki&gt;Brecht: moved Dev:2.5/Py/Scripts/Cookbook/Code snippets/Batch run to Dev:Py/Scripts/Cookbook/Code snippets/Batch run: remove version namespace</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=Dev:Py/Scripts/Cookbook/Code_snippets/Batch_run&amp;diff=104830&amp;oldid=prev"/>
		<updated>2015-12-27T19:24:32Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/Dev:2.5/Py/Scripts/Cookbook/Code_snippets/Batch_run&quot; class=&quot;mw-redirect&quot; title=&quot;Dev:2.5/Py/Scripts/Cookbook/Code snippets/Batch run&quot;&gt;Dev:2.5/Py/Scripts/Cookbook/Code snippets/Batch run&lt;/a&gt; to &lt;a href=&quot;/Dev:Py/Scripts/Cookbook/Code_snippets/Batch_run&quot; title=&quot;Dev:Py/Scripts/Cookbook/Code snippets/Batch run&quot;&gt;Dev:Py/Scripts/Cookbook/Code snippets/Batch run&lt;/a&gt;: remove version namespace&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Page/Header|2.5x|Dev:2.5/Py/Scripts/Cookbook/Code_snippets/Nodes|}}&lt;br /&gt;
&lt;br /&gt;
=Batch run=&lt;br /&gt;
The program runs all scripts in the object and simulation folders. The main purpose is to verify that all scripts run correctly, or at least that they can be executed without causing errors.&lt;br /&gt;
&lt;br /&gt;
Most scripts do not run in earlier versions of Blender. To ensure that we are not stuck with an outdated Blender, we first check the current Blender version, which is available as &amp;lt;code&amp;gt;bpy.app.version&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#----------------------------------------------------------&lt;br /&gt;
# File batch.py&lt;br /&gt;
#----------------------------------------------------------&lt;br /&gt;
import bpy, sys, os, mathutils&lt;br /&gt;
from mathutils import Vector&lt;br /&gt;
&lt;br /&gt;
# Check Blender version&lt;br /&gt;
version = (2, 57, 0)&lt;br /&gt;
&lt;br /&gt;
if bpy.app.version &amp;lt; version:&lt;br /&gt;
    msg = 'Blender too old: %s &amp;lt; %s' % (bpy.app.version, version)&lt;br /&gt;
    raise NameError(msg)&lt;br /&gt;
&lt;br /&gt;
# Delete all old objects, so we start with a clean slate.&lt;br /&gt;
scn = bpy.context.scene&lt;br /&gt;
for ob in scn.objects:&lt;br /&gt;
    scn.objects.active = ob&lt;br /&gt;
    print(&amp;quot;Delete&amp;quot;, ob, bpy.context.object)&lt;br /&gt;
    bpy.ops.object.mode_set(mode='OBJECT')&lt;br /&gt;
    scn.objects.unlink(ob)&lt;br /&gt;
    del ob&lt;br /&gt;
&lt;br /&gt;
# Path to the code. You must change this unless you place the&lt;br /&gt;
# snippets folder in your home directory&lt;br /&gt;
scripts = os.path.expanduser('~/snippets/scripts/')&lt;br /&gt;
for folder in ['object', 'simulation', 'interface']:&lt;br /&gt;
	sys.path.append(scripts+folder)&lt;br /&gt;
print(sys.path)&lt;br /&gt;
&lt;br /&gt;
origin = Vector((0,0,0))&lt;br /&gt;
&lt;br /&gt;
# Meshes and armatures&lt;br /&gt;
origin[2] = 0&lt;br /&gt;
import meshes&lt;br /&gt;
meshes.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import armature&lt;br /&gt;
armature.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import rigged_mesh&lt;br /&gt;
rigged_mesh.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import shapekey&lt;br /&gt;
shapekey.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
&lt;br /&gt;
# Three ways to construct objects&lt;br /&gt;
import objects&lt;br /&gt;
objects.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
&lt;br /&gt;
# Materials and textures&lt;br /&gt;
origin[2] = 5&lt;br /&gt;
origin[0] = 0&lt;br /&gt;
import material&lt;br /&gt;
material.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import texture&lt;br /&gt;
texture.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import multi_material&lt;br /&gt;
multi_material.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import uvs&lt;br /&gt;
uvs.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import chain&lt;br /&gt;
chain.run(origin)&lt;br /&gt;
&lt;br /&gt;
# Actions and drivers&lt;br /&gt;
origin[2] = 25&lt;br /&gt;
origin[0] = 0&lt;br /&gt;
import ob_action&lt;br /&gt;
ob_action.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import pose_action&lt;br /&gt;
pose_action.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import epicycle&lt;br /&gt;
epicycle.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import driver&lt;br /&gt;
driver.run(origin)&lt;br /&gt;
&lt;br /&gt;
# Simulations&lt;br /&gt;
origin[2] = 15&lt;br /&gt;
origin[0] = 0&lt;br /&gt;
import hair&lt;br /&gt;
hair.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import edit_hair&lt;br /&gt;
edit_hair.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import particle&lt;br /&gt;
particle.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import cloth&lt;br /&gt;
cloth.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import softbody&lt;br /&gt;
softbody.run(origin)&lt;br /&gt;
&lt;br /&gt;
origin[2] = 10&lt;br /&gt;
origin[0] = 0&lt;br /&gt;
import fire&lt;br /&gt;
fire.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import flags&lt;br /&gt;
flags.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import smoke&lt;br /&gt;
smoke.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import crystal&lt;br /&gt;
crystal.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
&lt;br /&gt;
origin[2] = -4.02&lt;br /&gt;
origin[0] = -10&lt;br /&gt;
import pile&lt;br /&gt;
pile.run(origin)&lt;br /&gt;
# Restore render engine&lt;br /&gt;
bpy.context.scene.render.engine = 'BLENDER_RENDER'&lt;br /&gt;
&lt;br /&gt;
# Other data types&lt;br /&gt;
origin[2] = 20&lt;br /&gt;
origin[0] = 0&lt;br /&gt;
import text&lt;br /&gt;
text.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import lattice&lt;br /&gt;
lattice.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import curve&lt;br /&gt;
curve.run(origin)&lt;br /&gt;
origin[0] += 5&lt;br /&gt;
import path&lt;br /&gt;
path.run(origin)&lt;br /&gt;
import camera&lt;br /&gt;
camera.run(Vector((0,0,0)))&lt;br /&gt;
&lt;br /&gt;
# Layers and groups&lt;br /&gt;
import layers&lt;br /&gt;
layers.run()&lt;br /&gt;
import groups&lt;br /&gt;
groups.run()&lt;br /&gt;
# Restore layers after layers and groups&lt;br /&gt;
scn.layers[0] = True&lt;br /&gt;
for n in range(1,20):&lt;br /&gt;
	scn.layers[n] = False&lt;br /&gt;
&lt;br /&gt;
# View &lt;br /&gt;
import world&lt;br /&gt;
world.run()&lt;br /&gt;
import view&lt;br /&gt;
view.run()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
At frame 71, your screen should look as the picture below. The rendered version appears on the front page.&lt;br /&gt;
[[File:Code_Snippets_Batch.png|640px]]&lt;br /&gt;
&lt;br /&gt;
{{Page/Header|2.5x|Dev:2.5/Py/Scripts/Cookbook/Code_snippets/Nodes|}}&lt;/div&gt;</summary>
		<author><name>wiki&gt;Brecht</name></author>
		
	</entry>
</feed>