Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Leger <stephen@3dservices.ch>2017-09-01 14:31:09 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2017-09-04 16:12:36 +0300
commit6ea26b6fd49fd9f2f8be1c8e98c9159e9be1870d (patch)
tree90e4dfc31ef4f411e7322982bf0b2840594bf885
parentbb3b530e14159fcdd509b1d31f879925b6693ad6 (diff)
archipack: background renderer use factory-startup to prevent other addon issues
-rw-r--r--archipack/archipack_rendering.py5
-rw-r--r--archipack/archipack_thumbs.py15
2 files changed, 18 insertions, 2 deletions
diff --git a/archipack/archipack_rendering.py b/archipack/archipack_rendering.py
index 4793777e..05373a75 100644
--- a/archipack/archipack_rendering.py
+++ b/archipack/archipack_rendering.py
@@ -48,13 +48,18 @@ class ARCHIPACK_OT_render_thumbs(Operator):
def background_render(self, context, cls, preset):
generator = path.dirname(path.realpath(__file__)) + path.sep + "archipack_thumbs.py"
+ addon_name = __name__.split('.')[0]
+ matlib_path = context.user_preferences.addons[addon_name].preferences.matlib_path
# Run external instance of blender like the original thumbnail generator.
cmd = [
bpy.app.binary_path,
"--background",
+ "--factory-startup",
"-noaudio",
"--python", generator,
"--",
+ "addon:" + addon_name,
+ "matlib:" + matlib_path,
"cls:" + cls,
"preset:" + preset
]
diff --git a/archipack/archipack_thumbs.py b/archipack/archipack_thumbs.py
index c9ab7ad2..8f652ab2 100644
--- a/archipack/archipack_thumbs.py
+++ b/archipack/archipack_thumbs.py
@@ -42,7 +42,10 @@ def generateThumb(context, cls, preset):
render = context.scene.cycles
render.progressive = 'PATH'
render.samples = 24
- render.use_square_samples = True
+ try:
+ render.use_square_samples = True
+ except:
+ pass
render.preview_samples = 24
render.aa_samples = 24
render.transparent_max_bounces = 8
@@ -179,5 +182,13 @@ if __name__ == "__main__":
cls = arg[4:]
if arg.startswith("preset:"):
preset = arg[7:]
-
+ if arg.startswith("matlib:"):
+ matlib = arg[7:]
+ if arg.startswith("addon:"):
+ module = arg[6:]
+ try:
+ bpy.ops.wm.addon_enable(module=module)
+ bpy.context.user_preferences.addons[module].preferences.matlib_path = matlib
+ except:
+ raise RuntimeError("module name not found")
generateThumb(bpy.context, cls, preset)