From: daid Date: Tue, 6 Aug 2013 07:03:25 +0000 (+0200) Subject: Add minimal travel distance for retraction and option to disable combing and thus... X-Git-Tag: 13.10~111 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=b43cc3c7fd22b882022094131484c2759e38ee80;p=cura.git Add minimal travel distance for retraction and option to disable combing and thus always retract. --- diff --git a/Cura/util/machineCom.py b/Cura/util/machineCom.py index 3b554dc8..22e6f132 100644 --- a/Cura/util/machineCom.py +++ b/Cura/util/machineCom.py @@ -52,6 +52,9 @@ def serialList(forAutoDetect=False): return baselist def machineIsConnected(): + #UltiGCode is designed for SD-Card printing, so never auto-detect the serial port. + if profile.getPreference('gcode_flavor') == 'UltiGCode': + return False port = profile.getPreference('serial_port') if port == 'AUTO': return len(serialList(True)) > 0 diff --git a/Cura/util/profile.py b/Cura/util/profile.py index d54e27d7..d9606790 100644 --- a/Cura/util/profile.py +++ b/Cura/util/profile.py @@ -131,10 +131,11 @@ setting('filament_diameter2', 0, float, 'basic', 'Filament').setRang setting('filament_diameter3', 0, float, 'basic', 'Filament').setRange(0).setLabel('Diameter3 (mm)', 'Diameter of your filament for the 3th nozzle. Use 0 to use the same diameter as for nozzle 1.') setting('filament_diameter4', 0, float, 'basic', 'Filament').setRange(0).setLabel('Diameter4 (mm)', 'Diameter of your filament for the 4th nozzle. Use 0 to use the same diameter as for nozzle 1.') setting('filament_flow', 100., float, 'basic', 'Filament').setRange(1,300).setLabel('Flow (%)', 'Flow compensation, the amount of material extruded is multiplied by this value') -#setting('retraction_min_travel', 5.0, float, 'advanced', 'Retraction').setRange(0).setLabel('Minimum travel (mm)', 'Minimum amount of travel needed for a retraction to happen at all. To make sure you do not get a lot of retractions in a small area') setting('retraction_speed', 40.0, float, 'advanced', 'Retraction').setRange(0.1).setLabel('Speed (mm/s)', 'Speed at which the filament is retracted, a higher retraction speed works better. But a very high retraction speed can lead to filament grinding.') setting('retraction_amount', 4.5, float, 'advanced', 'Retraction').setRange(0).setLabel('Distance (mm)', 'Amount of retraction, set at 0 for no retraction at all. A value of 4.5mm seems to generate good results.') setting('retraction_dual_amount', 16.5, float, 'advanced', 'Retraction').setRange(0).setLabel('Dual extrusion switch amount (mm)', 'Amount of retraction when switching nozzle with dual-extrusion, set at 0 for no retraction at all. A value of 16.0mm seems to generate good results.') +setting('retraction_min_travel', 1.5, float, 'expert', 'Retraction').setRange(0).setLabel('Minimum travel (mm)', 'Minimum amount of travel needed for a retraction to happen at all. To make sure you do not get a lot of retractions in a small area.') +setting('retraction_combing', True, bool, 'expert', 'Retraction').setLabel('Enable combing', 'Combing is the act of avoiding holes in the print for the head to travel over. If combing is disabled the printer head moves straight from the start point to the end point and it will always retract.') setting('bottom_thickness', 0.3, float, 'advanced', 'Quality').setRange(0).setLabel('Initial layer thickness (mm)', 'Layer thickness of the bottom layer. A thicker bottom layer makes sticking to the bed easier. Set to 0.0 to have the bottom layer thickness the same as the other layers.') setting('object_sink', 0.0, float, 'advanced', 'Quality').setLabel('Cut off object bottom (mm)', 'Sinks the object into the platform, this can be used for objects that do not have a flat bottom and thus create a too small first layer.') #setting('enable_skin', False, bool, 'advanced', 'Quality').setLabel('Duplicate outlines', 'Skin prints the outer lines of the prints twice, each time with half the thickness. This gives the illusion of a higher print quality.') diff --git a/Cura/util/sliceEngine.py b/Cura/util/sliceEngine.py index 92a63fba..0462c6f6 100644 --- a/Cura/util/sliceEngine.py +++ b/Cura/util/sliceEngine.py @@ -255,7 +255,9 @@ class Slicer(object): 'supportLineWidth': int(profile.getProfileSettingFloat('support_rate') * profile.calculateEdgeWidth() * 1000 / 100), 'retractionAmount': int(profile.getProfileSettingFloat('retraction_amount') * 1000) if profile.getProfileSetting('retraction_enable') == 'True' else 0, 'retractionSpeed': int(profile.getProfileSettingFloat('retraction_speed')), + 'retractionMinimalDistance': int(profile.getProfileSettingFloat('retraction_min_travel') * 1000), 'retractionAmountExtruderSwitch': int(profile.getProfileSettingFloat('retraction_dual_amount') * 1000), + 'enableCombing': 1 if profile.getProfileSetting('retraction_combing') == 'True' else 0, 'multiVolumeOverlap': int(profile.getProfileSettingFloat('overlap_dual') * 1000), 'objectSink': int(profile.getProfileSettingFloat('object_sink') * 1000), 'minimalLayerTime': int(profile.getProfileSettingFloat('cool_min_layer_time')),