From f4d6aad738ae8b368841aee77e0008480fe42f25 Mon Sep 17 00:00:00 2001 From: Stephen Leger Date: Fri, 1 Sep 2017 13:31:09 +0200 Subject: archipack: background renderer use factory-startup to prevent other addon issues --- archipack/archipack_rendering.py | 5 +++++ archipack/archipack_thumbs.py | 15 +++++++++++++-- 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) -- cgit v1.2.3