[Bf-extensions-cvs] [120d31a1] master: 3D-Print: remove interior faces with Make Manifold

Mikhail Rachinskiy noreply at git.blender.org
Wed Oct 9 14:23:43 CEST 2019


Commit: 120d31a17c0eb571420b828425fc1fe6ef13db2d
Author: Mikhail Rachinskiy
Date:   Wed Oct 9 16:23:07 2019 +0400
Branches: master
https://developer.blender.org/rBA120d31a17c0eb571420b828425fc1fe6ef13db2d

3D-Print: remove interior faces with Make Manifold

===================================================================

M	object_print3d_utils/operators.py

===================================================================

diff --git a/object_print3d_utils/operators.py b/object_print3d_utils/operators.py
index 12fca69e..81c72c7f 100644
--- a/object_print3d_utils/operators.py
+++ b/object_print3d_utils/operators.py
@@ -199,7 +199,7 @@ class MESH_OT_print3d_check_degenerate(Operator):
 class MESH_OT_print3d_check_distorted(Operator):
     bl_idname = "mesh.print3d_check_distort"
     bl_label = "3D-Print Check Distorted Faces"
-    bl_description = "Check for non-flat faces "
+    bl_description = "Check for non-flat faces"
 
     @staticmethod
     def main_check(obj, info):
@@ -428,7 +428,7 @@ class MESH_OT_print3d_clean_distorted(Operator):
 class MESH_OT_print3d_clean_non_manifold(Operator):
     bl_idname = "mesh.print3d_clean_non_manifold"
     bl_label = "3D-Print Clean Non-Manifold and Inverted"
-    bl_description = "Cleanup problems, like holes, non-manifold vertices, and inverted normals"
+    bl_description = "Cleanup problems, like holes, non-manifold vertices and inverted normals"
     bl_options = {'REGISTER', 'UNDO'}
 
     threshold: bpy.props.FloatProperty(
@@ -450,6 +450,7 @@ class MESH_OT_print3d_clean_non_manifold(Operator):
         bm_key_orig = self.elem_count(context)
 
         self.delete_loose()
+        self.delete_interior()
         self.remove_doubles(self.threshold)
         self.dissolve_degenerate(self.threshold)
         self.fix_non_manifold(context, self.sides)  # may take a while
@@ -492,6 +493,13 @@ class MESH_OT_print3d_clean_non_manifold(Operator):
         bpy.ops.mesh.select_all(action='SELECT')
         bpy.ops.mesh.delete_loose()
 
+    @staticmethod
+    def delete_interior():
+        """delete interior faces"""
+        bpy.ops.mesh.select_all(action='DESELECT')
+        bpy.ops.mesh.select_interior_faces()
+        bpy.ops.mesh.delete(type='FACE')
+
     @staticmethod
     def dissolve_degenerate(threshold):
         """dissolve zero area faces and zero length edges"""



More information about the Bf-extensions-cvs mailing list