chiark / gitweb /
Fix #769 - Add setting for extrusion width for first layer.
authordaid <daid303@gmail.com>
Wed, 2 Jul 2014 13:35:31 +0000 (15:35 +0200)
committerdaid <daid303@gmail.com>
Wed, 2 Jul 2014 13:35:31 +0000 (15:35 +0200)
Cura/util/profile.py
Cura/util/sliceEngine.py

index 295cdeca67388cead0750f81b7c1260ea6615630..c424b688dc7d666668885f01bfceb824369e23e0 100644 (file)
@@ -198,6 +198,7 @@ setting('retraction_combing',       True, bool,  'expert',   _('Retraction')).se
 setting('retraction_minimal_extrusion',0.02, float,'expert', _('Retraction')).setRange(0).setLabel(_("Minimal extrusion before retracting (mm)"), _("The minimal amount of extrusion that needs to be done before retracting again if a retraction needs to happen before this minimal is reached the retraction is ignored.\nThis avoids retracting a lot on the same piece of filament which flattens the filament and causes grinding issues."))
 setting('retraction_hop',            0.0, float, 'expert',   _('Retraction')).setRange(0).setLabel(_("Z hop when retracting (mm)"), _("When a retraction is done, the head is lifted by this amount to travel over the print. A value of 0.075 works well. This feature has a lot of positive effect on delta towers."))
 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('layer0_width_factor',       100, float, 'advanced', _('Quality')).setRange(50, 300).setLabel(_("Initial layer line with (%)"), _("Extra width factor for the extrusion on the first layer, on some printers it's good to have wider extrusion on the first layer to get better bed adhesion."))
 setting('object_sink',               0.0, float, 'advanced', _('Quality')).setRange(0).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."))
 setting('overlap_dual',             0.15, float, 'advanced', _('Quality')).setLabel(_("Dual extrusion overlap (mm)"), _("Add a certain amount of overlapping extrusion on dual-extrusion prints. This bonds the different colors together."))
index 3e75c39cf50a474f7bae23cb8bc14d143c52fc61..e6f8b16117412eeb96d823e50b3e46fd9add7a97 100644 (file)
@@ -449,7 +449,7 @@ class Engine(object):
                        'filamentDiameter': int(profile.getProfileSettingFloat('filament_diameter') * 1000),
                        'filamentFlow': int(profile.getProfileSettingFloat('filament_flow')),
                        'extrusionWidth': int(profile.calculateEdgeWidth() * 1000),
-                       'layer0extrusionWidth': int(profile.calculateEdgeWidth() * 1000),
+                       'layer0extrusionWidth': int(profile.calculateEdgeWidth() * profile.getProfileSettingFloat('layer0_width_factor') / 100 * 1000),
                        'insetCount': int(profile.calculateLineCount()),
                        'downSkinCount': int(profile.calculateSolidLayerCount()) if profile.getProfileSetting('solid_bottom') == 'True' else 0,
                        'upSkinCount': int(profile.calculateSolidLayerCount()) if profile.getProfileSetting('solid_top') == 'True' else 0,