diff options
author | Stephen Leger <stephen@3dservices.ch> | 2017-09-01 14:31:09 +0300 |
---|---|---|
committer | Stephen Leger <stephen@3dservices.ch> | 2017-09-01 14:31:22 +0300 |
commit | f4d6aad738ae8b368841aee77e0008480fe42f25 (patch) | |
tree | 553c1e311c6691d1f7ea2cdd9d48852910410e95 | |
parent | 184cd288d914a919f5d235fb66b00d2a6bf2aed8 (diff) |
archipack: background renderer use factory-startup to prevent other addon issues
-rw-r--r-- | archipack/archipack_rendering.py | 5 | ||||
-rw-r--r-- | 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) |