chiark / gitweb /
Add minimal travel distance for retraction and option to disable combing and thus...
authordaid <daid303@gmail.com>
Tue, 6 Aug 2013 07:03:25 +0000 (09:03 +0200)
committerdaid <daid303@gmail.com>
Tue, 6 Aug 2013 07:03:25 +0000 (09:03 +0200)
Cura/util/machineCom.py
Cura/util/profile.py
Cura/util/sliceEngine.py

index 3b554dc874085789a03bc54270b0eb02f3cc9007..22e6f1326d942333fffb9e06a7869003f9362940 100644 (file)
@@ -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
index d54e27d7a07896d994d73bff6fcd065c1ce809e2..d9606790fa6b563fbecd863097e0486d20b61cb8 100644 (file)
@@ -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.')
index 92a63fba9a4d815470836039d05ca859eef39038..0462c6f674afa58bb3cc9c02ebd448cd6755bcfe 100644 (file)
@@ -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')),