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:
authorMikhail Rachinskiy <mikhail.rachinskiy@gmail.com>2019-10-17 16:25:55 +0300
committerMikhail Rachinskiy <mikhail.rachinskiy@gmail.com>2019-10-17 16:25:55 +0300
commita501de8e34533de5c66b5db9973ca5ab6c8f0230 (patch)
treea1a73afdacdc7eb85f55ad9841f7101285471356 /object_print3d_utils
parent758e2817f68181c68d09de6f22afb691ba34581a (diff)
3D-Print: fix Copy Textures for STL and PLY export
Diffstat (limited to 'object_print3d_utils')
-rw-r--r--object_print3d_utils/export.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/object_print3d_utils/export.py b/object_print3d_utils/export.py
index 8c61400f..2503c2f5 100644
--- a/object_print3d_utils/export.py
+++ b/object_print3d_utils/export.py
@@ -24,19 +24,35 @@
import bpy
+def image_get(mat):
+ from bpy_extras import node_shader_utils
+
+ if mat.use_nodes:
+ mat_wrap = node_shader_utils.PrincipledBSDFWrapper(mat)
+ base_color_tex = mat_wrap.base_color_texture
+ if base_color_tex and base_color_tex.image:
+ return base_color_tex.image
+
+
def image_copy_guess(filepath, objects):
# 'filepath' is the path we are writing to.
- import os
- import shutil
- from bpy_extras import object_utils
-
image = None
+ mats = set()
+
for obj in objects:
- image = object_utils.object_image_guess(obj)
+ for slot in obj.material_slots:
+ if slot.material:
+ mats.add(slot.material)
+
+ for mat in mats:
+ image = image_get(mat)
if image is not None:
break
if image is not None:
+ import os
+ import shutil
+
imagepath = bpy.path.abspath(image.filepath, library=image.library)
if os.path.exists(imagepath):
filepath_noext = os.path.splitext(filepath)[0]