diff options
author | Mikhail Rachinskiy <mikhail.rachinskiy@gmail.com> | 2019-10-16 12:37:11 +0300 |
---|---|---|
committer | Mikhail Rachinskiy <mikhail.rachinskiy@gmail.com> | 2019-10-16 12:37:11 +0300 |
commit | 20f0c81f9a5bf86b05944655b76c46d1f163766a (patch) | |
tree | 5ae6f9195b6c396ab9b5c554e5b51b46a49e9634 /object_print3d_utils/mesh_helpers.py | |
parent | a3087a1cc4bca076c9a230e99c2bc1dd7c49a5dc (diff) |
3D-Print: remove object join workaround for PLY export
PLY exporter now supports export selection.
Also do not force active object into selection.
Diffstat (limited to 'object_print3d_utils/mesh_helpers.py')
-rw-r--r-- | object_print3d_utils/mesh_helpers.py | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/object_print3d_utils/mesh_helpers.py b/object_print3d_utils/mesh_helpers.py index 37170e53..6bf280af 100644 --- a/object_print3d_utils/mesh_helpers.py +++ b/object_print3d_utils/mesh_helpers.py @@ -192,67 +192,6 @@ def bmesh_check_thick_object(obj, thickness): return array.array('i', faces_error) -def object_merge(context, objects): - """Caller must remove.""" - - import bpy - - def cd_remove_all_but_active(seq): - tot = len(seq) - if tot > 1: - act = seq.active_index - for i in range(tot - 1, -1, -1): - if i != act: - seq.remove(seq[i]) - - scene = context.scene - layer = context.view_layer - scene_collection = context.layer_collection.collection - - # deselect all - for obj in scene.objects: - obj.select_set(False) - - # add empty object - mesh_tmp = bpy.data.meshes.new(name="~tmp~") - obj_tmp = bpy.data.objects.new(name="~tmp~", object_data=mesh_tmp) - scene_collection.objects.link(obj_tmp) - obj_tmp.select_set(True) - - depsgraph = context.evaluated_depsgraph_get() - - # loop over all meshes - for obj in objects: - if obj.type != 'MESH': - continue - - # convert each to a mesh - obj_eval = obj.evaluated_get(depsgraph) - mesh_new = obj_eval.to_mesh().copy() - - # remove non-active uvs/vcols - cd_remove_all_but_active(mesh_new.vertex_colors) - cd_remove_all_but_active(mesh_new.uv_layers) - - # join into base mesh - obj_new = bpy.data.objects.new(name="~tmp-new~", object_data=mesh_new) - scene_collection.objects.link(obj_new) - obj_new.matrix_world = obj.matrix_world - - override = context.copy() - override["active_object"] = obj_tmp - override["selected_editable_objects"] = [obj_tmp, obj_new] - - bpy.ops.object.join(override) - - bpy.data.meshes.remove(mesh_new) - obj_eval.to_mesh_clear() - - layer.update() - - return obj_tmp - - def face_is_distorted(ele, angle_distort): no = ele.normal angle_fn = no.angle |