diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-16 16:01:17 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-05-16 17:43:14 +0300 |
commit | 901868a4b2fc6e70d9c74119d97c57de132859a3 (patch) | |
tree | 94f96b6fd5f8a1ec509c6551f504cad958c1688f /io_mesh_stl/blender_utils.py | |
parent | 2e5b7a4a044ab982af66def583ae16bb563a1357 (diff) |
Update for Depsgraph API changes
Addresses new behavior of object.to_mesh().
This is corresponding part for D4875.
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4876
Diffstat (limited to 'io_mesh_stl/blender_utils.py')
-rw-r--r-- | io_mesh_stl/blender_utils.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/io_mesh_stl/blender_utils.py b/io_mesh_stl/blender_utils.py index 088caa8e..d61adf31 100644 --- a/io_mesh_stl/blender_utils.py +++ b/io_mesh_stl/blender_utils.py @@ -81,12 +81,14 @@ def faces_from_mesh(ob, global_matrix, use_mesh_modifiers=False): ob.update_from_editmode() # get the modifiers + if use_mesh_modifiers: + depsgraph = bpy.context.evaluated_depsgraph_get() + mesh_owner = ob.evaluated_get(depsgraph) + else: + mesh_owner = ob + try: - if use_mesh_modifiers: - depsgraph = bpy.context.evaluated_depsgraph_get() - mesh = ob.evaluated_get(depsgraph).to_mesh() - else: - mesh = ob.to_mesh() + mesh = mesh_owner.to_mesh() except RuntimeError: return @@ -101,4 +103,4 @@ def faces_from_mesh(ob, global_matrix, use_mesh_modifiers=False): for tri in mesh.loop_triangles: yield [vertices[index].co.copy() for index in tri.vertices] - bpy.data.meshes.remove(mesh) + mesh_owner.to_mesh_clear() |