chiark / gitweb /
Add the extensive stitching option.
authordaid303 <daid303@gmail.com>
Fri, 7 Jun 2013 07:58:47 +0000 (09:58 +0200)
committerdaid303 <daid303@gmail.com>
Fri, 7 Jun 2013 07:58:47 +0000 (09:58 +0200)
Cura/util/profile.py
Cura/util/sliceEngine.py

index 9a47b6e2bd3480c11b492522c98067bcbae8cb08..3cbc949071b757133a44e227e1f6eab50bb38144 100644 (file)
@@ -175,6 +175,7 @@ setting('raft_interface_linewidth', 0.2, float, 'expert', 'Raft').setRange(0).se
 setting('fix_horrible_union_all_type_a', False, bool, 'expert', 'Fix horrible').setLabel('Combine everything (Type-A)', 'This expert option adds all parts of the model together. The result is usually that internal cavities disappear. Depending on the model this can be intended or not. Enabling this option is at your own risk. Type-A is depended on the model normals and tries to keep some internal holes intact. Type-B ignores all internal holes and only keeps the outside shape per layer.')
 setting('fix_horrible_union_all_type_b', False, bool, 'expert', 'Fix horrible').setLabel('Combine everything (Type-B)', 'This expert option adds all parts of the model together. The result is usually that internal cavities disappear. Depending on the model this can be intended or not. Enabling this option is at your own risk. Type-A is depended on the model normals and tries to keep some internal holes intact. Type-B ignores all internal holes and only keeps the outside shape per layer.')
 setting('fix_horrible_use_open_bits', False, bool, 'expert', 'Fix horrible').setLabel('Keep open faces', 'This expert option keeps all the open bits of the model intact. Normally Cura tries to stitch up small holes and remove everything with big holes, but this option keeps bits that are not properly part of anything and just goes with whatever it is left. This option is usually not what you want, but it might enable you to slice models otherwise failing to produce proper paths.\nAs with all "Fix horrible" options, results may vary and use at your own risk.')
+setting('fix_horrible_extensive_stitching', False, bool, 'expert', 'Fix horrible').setLabel('Extensive stitching', 'Extrensive stitching tries to fix up open holes in the model by closing the hole with touching polygons. This algorthm is quite expensive and could introduce a lot of processing time.\nAs with all "Fix horrible" options, results may vary and use at your own risk.')
 
 setting('plugin_config', '', str, 'hidden', 'hidden')
 setting('object_center_x', -1, float, 'hidden', 'hidden')
index 2b231da9cefe273a3287ccf4e732e55d5b1ad40e..937ef8579d117c793587485cabb12dfb024d193c 100644 (file)
@@ -259,6 +259,8 @@ class Slicer(object):
                        settings['fixHorrible'] |= 0x02
                if profile.getProfileSetting('fix_horrible_use_open_bits') == 'True':
                        settings['fixHorrible'] |= 0x10
+               if profile.getProfileSetting('fix_horrible_extensive_stitching') == 'True':
+                       settings['fixHorrible'] |= 0x04
 
                if settings['layerThickness'] <= 0:
                        settings['layerThickness'] = 1000