From: daid303 Date: Fri, 7 Jun 2013 07:58:47 +0000 (+0200) Subject: Add the extensive stitching option. X-Git-Tag: 13.06.2~25 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=19329e9f2c707823eb944be5fc92e123cc64baa2;p=cura.git Add the extensive stitching option. --- diff --git a/Cura/util/profile.py b/Cura/util/profile.py index 9a47b6e2..3cbc9490 100644 --- a/Cura/util/profile.py +++ b/Cura/util/profile.py @@ -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') diff --git a/Cura/util/sliceEngine.py b/Cura/util/sliceEngine.py index 2b231da9..937ef857 100644 --- a/Cura/util/sliceEngine.py +++ b/Cura/util/sliceEngine.py @@ -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