From eb9f4ee7777f96de59b132a50fce1fb0bd369eb3 Mon Sep 17 00:00:00 2001
From: Enrico Turri <enricoturri@seznam.cz>
Date: Mon, 27 Aug 2018 14:54:20 +0200
Subject: [PATCH 01/11] Fixed moving center of rotate gizmo

---
 xs/src/slic3r/GUI/GLCanvas3D.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xs/src/slic3r/GUI/GLCanvas3D.cpp b/xs/src/slic3r/GUI/GLCanvas3D.cpp
index ea9fd9086..062b57b49 100644
--- a/xs/src/slic3r/GUI/GLCanvas3D.cpp
+++ b/xs/src/slic3r/GUI/GLCanvas3D.cpp
@@ -3297,7 +3297,7 @@ BoundingBoxf3 GLCanvas3D::_selected_volumes_bounding_box() const
     {
         for (const GLVolume* volume : selected_volumes)
         {
-            bb.merge(volume->transformed_convex_hull_bounding_box());
+            bb.merge(volume->transformed_bounding_box());
         }
     }
 

From 5ee106fbf9baf114619f2622ef9e991c73a09667 Mon Sep 17 00:00:00 2001
From: Enrico Turri <enricoturri@seznam.cz>
Date: Wed, 29 Aug 2018 08:42:42 +0200
Subject: [PATCH 02/11] Fixed transformation center for objects imported from
 3mf files

---
 xs/src/libslic3r/Format/3mf.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xs/src/libslic3r/Format/3mf.cpp b/xs/src/libslic3r/Format/3mf.cpp
index 5de1d26c5..945bb1f86 100644
--- a/xs/src/libslic3r/Format/3mf.cpp
+++ b/xs/src/libslic3r/Format/3mf.cpp
@@ -603,6 +603,8 @@ namespace Slic3r {
 
             if (!_generate_volumes(*object.second, obj_geometry->second, *volumes_ptr))
                 return false;
+
+            object.second->center_around_origin();
         }
 
         // fixes the min z of the model if negative

From d57725ee183e3730a7bcc3778fd880cc31771a39 Mon Sep 17 00:00:00 2001
From: bubnikv <bubnikv@gmail.com>
Date: Thu, 30 Aug 2018 16:08:25 +0200
Subject: [PATCH 03/11] Bumped up the version number to 1.41.0 release, bundled
 updated PrusaResearch configs.

---
 resources/profiles/PrusaResearch.idx |  10 ++-
 resources/profiles/PrusaResearch.ini | 117 ++++++++++++++++++++-------
 xs/src/libslic3r/libslic3r.h         |   2 +-
 3 files changed, 98 insertions(+), 31 deletions(-)

diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx
index ba4123588..7a0c58aa6 100644
--- a/resources/profiles/PrusaResearch.idx
+++ b/resources/profiles/PrusaResearch.idx
@@ -1,8 +1,12 @@
-min_slic3r_version = 1.41.0-alpha
+0.2.1 Added PET and BVOH settings for MMU2
+0.2.0-beta5 Fixed MMU1 ramming parameters
+0.2.0-beta4 Added filament loading speed at start, increased minimal purge on wipe tower
+0.2.0-beta3 Edited ramming parameters and filament cooling moves for MMU2
+0.2.0-beta2 Edited first layer speed and wipe tower position
 0.2.0-beta Removed limit on the MK3MMU2 height, added legacy M204 S T format to the MK2 profiles
 0.2.0-alpha8 Added filament_load/unload_time for the PLA/ABS MMU2 filament presets.
-0.2.0-alpha7 Fixed the *MK3* references
-0.2.0-alpha6
+0.2.0-alpha7 Vojtech's fix the incorrect *MK3* references
+0.2.0-alpha6 Jindra's way to fix the 0.2.0-alpha5 version
 0.2.0-alpha5 Bumped up firmware versions for MK2.5/MK3 to 3.3.1, disabled priming areas for MK3MMU2
 0.2.0-alpha4 Extended the custom start/end G-codes of the MMU2.0 printers for no priming towers.
 0.2.0-alpha3 Adjusted machine limits for time estimates, added filament density and cost
diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini
index 32ec800e7..ab86af976 100644
--- a/resources/profiles/PrusaResearch.ini
+++ b/resources/profiles/PrusaResearch.ini
@@ -5,7 +5,7 @@
 name = Prusa Research
 # Configuration version of this file. Config file will only be installed, if the config_version differs.
 # This means, the server may force the Slic3r configuration to be downgraded.
-config_version = 0.2.0-beta
+config_version = 0.2.1
 # Where to get the updates from?
 config_update_url = https://raw.githubusercontent.com/prusa3d/Slic3r-settings/master/live/PrusaResearch/
 
@@ -67,7 +67,7 @@ fill_pattern = cubic
 first_layer_acceleration = 1000
 first_layer_extrusion_width = 0.42
 first_layer_height = 0.2
-first_layer_speed = 30
+first_layer_speed = 20
 gap_fill_speed = 40
 gcode_comments = 0
 infill_every_layers = 1
@@ -113,7 +113,7 @@ support_material_interface_extruder = 0
 support_material_angle = 0
 support_material_buildplate_only = 0
 support_material_enforce_layers = 0
-support_material_contact_distance = 0.15
+support_material_contact_distance = 0.1
 support_material_interface_contact_loops = 0
 support_material_interface_layers = 2
 support_material_interface_spacing = 0.2
@@ -122,9 +122,9 @@ support_material_pattern = rectilinear
 support_material_spacing = 2
 support_material_speed = 50
 support_material_synchronize_layers = 0
-support_material_threshold = 45
+support_material_threshold = 55
 support_material_with_sheath = 0
-support_material_xy_spacing = 60%
+support_material_xy_spacing = 50%
 thin_walls = 0
 top_infill_extrusion_width = 0.45
 top_solid_infill_speed = 40
@@ -133,13 +133,15 @@ wipe_tower = 1
 wipe_tower_bridging = 10
 wipe_tower_rotation_angle = 0
 wipe_tower_width = 60
-wipe_tower_x = 180
-wipe_tower_y = 135
+wipe_tower_x = 170
+wipe_tower_y = 140
 xy_size_compensation = 0
 
 [print:*MK3*]
 fill_pattern = grid
 single_extruder_multi_material_priming = 0
+wipe_tower_x = 170
+wipe_tower_y = 125
 
 # Print parameters common to a 0.25mm diameter nozzle.
 [print:*0.25nozzle*]
@@ -557,13 +559,17 @@ compatible_printers_condition = ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ a
 end_filament_gcode = "; Filament-specific end gcode"
 extrusion_multiplier = 1
 filament_loading_speed = 28
+filament_loading_speed_start = 3
 filament_unloading_speed = 90
+filament_unloading_speed_start = 100
 filament_toolchange_delay = 0
 filament_cooling_moves = 4
 filament_cooling_initial_speed = 2.2
 filament_cooling_final_speed = 3.4
+filament_load_time = 0
+filament_unload_time = 0
 filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
-filament_minimal_purge_on_wipe_tower = 5
+filament_minimal_purge_on_wipe_tower = 15
 filament_cost = 0
 filament_density = 0
 filament_diameter = 1.75
@@ -664,6 +670,8 @@ cooling = 1
 disable_fan_first_layers = 3
 fan_always_on = 0
 fan_below_layer_time = 10
+filament_cost = 58.66
+filament_density = 1.18
 first_layer_bed_temperature = 105
 first_layer_temperature = 270
 max_fan_speed = 20
@@ -741,7 +749,7 @@ temperature = 260
 
 [filament:E3D Edge]
 inherits = *PET*
-filament_cost = 0
+filament_cost = 56.9
 filament_density = 1.26
 filament_notes = "List of manufacturers tested with standart PET print settings for MK2:\n\nE3D Edge\nFillamentum CPE GH100\nPlasty Mladeč PETG"
 
@@ -754,14 +762,14 @@ temperature = 270
 
 [filament:Fillamentum ABS]
 inherits = *ABS*
-filament_cost = 0
+filament_cost = 32.4
 filament_density = 1.04
 first_layer_temperature = 240
 temperature = 240
 
 [filament:Fillamentum ASA]
 inherits = *ABS*
-filament_cost = 0
+filament_cost = 38.7
 filament_density = 1.04
 fan_always_on = 1
 first_layer_temperature = 265
@@ -769,7 +777,7 @@ temperature = 265
 
 [filament:Fillamentum CPE HG100 HM100]
 inherits = *PET*
-filament_cost = 0
+filament_cost = 54.1
 filament_density = 1.25
 filament_notes = "CPE HG100 , CPE HM100"
 first_layer_bed_temperature = 90
@@ -783,7 +791,7 @@ inherits = *PLA*
 # For now, all but selected filaments are disabled for the MMU 2.0
 compatible_printers_condition = nozzle_diameter[0]>0.35 and ! (printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material)
 extrusion_multiplier = 1.2
-filament_cost = 0
+filament_cost = 68
 filament_density = 1.15
 filament_colour = #804040
 filament_max_volumetric_speed = 10
@@ -793,24 +801,26 @@ temperature = 190
 
 [filament:Generic ABS]
 inherits = *ABS*
-filament_cost = 0
+filament_cost = 27.82
 filament_density = 1.04
 filament_notes = "List of materials tested with standart ABS print settings for MK2:\n\nEsun ABS\nFil-A-Gehr ABS\nHatchboxABS\nPlasty Mladeč ABS"
 
 [filament:Generic PET]
 inherits = *PET*
-filament_cost = 0
+filament_cost = 27.82
 filament_density = 1.24
 filament_notes = "List of manufacturers tested with standart PET print settings for MK2:\n\nE3D Edge\nFillamentum CPE GH100\nPlasty Mladeč PETG"
 
 [filament:Generic PLA]
 inherits = *PLA*
-filament_cost = 0
+filament_cost = 25.4
 filament_density = 1.27
 filament_notes = "List of materials tested with standart PLA print settings for MK2:\n\nDas Filament\nEsun PLA\nEUMAKERS PLA\nFiberlogy HD-PLA\nFillamentum PLA\nFloreon3D\nHatchbox PLA\nPlasty Mladeč PLA\nPrimavalue PLA\nProto pasta Matte Fiber\nVerbatim PLA\nVerbatim BVOH"
 
 [filament:Polymaker PC-Max]
 inherits = *ABS*
+filament_cost = 77.3
+filament_density = 1.20
 bed_temperature = 115
 filament_colour = #3A80CA
 first_layer_bed_temperature = 100
@@ -819,6 +829,8 @@ temperature = 270
 
 [filament:Primavalue PVA]
 inherits = *PLA*
+filament_cost = 108
+filament_density = 1.23
 cooling = 0
 fan_always_on = 0
 filament_colour = #FFFFD7
@@ -843,10 +855,7 @@ compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and
 filament_cooling_final_speed = 50 
 filament_cooling_initial_speed = 10
 filament_cooling_moves = 5
-filament_loading_speed = 14
 filament_ramming_parameters = "120 110 5.32258 5.45161 5.67742 6 6.48387 7.12903 7.90323 8.70968 9.3871 9.83871 10.0968 10.2258| 0.05 5.30967 0.45 5.50967 0.95 6.1871 1.45 7.39677 1.95 9.05484 2.45 10 2.95 10.3098 3.45 13.0839 3.95 7.6 4.45 7.6 4.95 7.6";
-filament_load_time = 12
-filament_unload_time = 11
 
 [filament:Generic ABS MMU2]
 inherits = *ABS MMU2*
@@ -856,6 +865,8 @@ inherits = *ABS MMU2*
 
 [filament:Prusa HIPS]
 inherits = *ABS*
+filament_cost = 27.3
+filament_density = 1.04
 bridge_fan_speed = 50
 cooling = 1
 extrusion_multiplier = 0.9
@@ -876,6 +887,28 @@ filament_cost = 27.82
 filament_density = 1.27
 filament_notes = "List of manufacturers tested with standart PET print settings for MK2:\n\nE3D Edge\nFillamentum CPE GH100\nPlasty Mladeč PETG"
 
+[filament:*PET MMU2*]
+inherits = Prusa PET
+compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material
+temperature = 230
+first_layer_temperature = 230
+filament_cooling_final_speed = 1
+filament_cooling_initial_speed = 2
+filament_cooling_moves = 1
+filament_load_time = 12
+filament_loading_speed = 14
+filament_notes = PET
+filament_ramming_parameters = "120 140 4.70968 4.74194 4.77419 4.80645 4.83871 4.87097 4.90323 5 5.25806 5.67742 6.29032 7.06452 7.83871 8.3871| 0.05 4.72901 0.45 4.73545 0.95 4.83226 1.45 4.88067 1.95 5.05483 2.45 5.93553 2.95 7.53556 3.45 8.6323 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_unload_time = 11
+filament_unloading_speed = 20
+filament_unloading_speed_start = 120
+
+[filament:Generic PET MMU2]
+inherits = *PET MMU2*
+
+[filament:Prusa PET MMU2]
+inherits = *PET MMU2*
+
 [filament:Prusa PLA]
 inherits = *PLA*
 filament_cost = 25.4
@@ -885,13 +918,15 @@ filament_notes = "List of materials tested with standart PLA print settings for
 [filament:*PLA MMU2*]
 inherits = Prusa PLA
 compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material
-filament_cooling_final_speed = 50
-filament_cooling_initial_speed = 10
-filament_cooling_moves = 7
-filament_loading_speed = 14
-filament_ramming_parameters = "120 110 4.03226 4.12903 4.25806 4.41935 4.58065 4.80645 5.35484 6.29032 7.58065 9.09677 10.5806 11.8387 12.6452 12.9677| 0.05 4.01935 0.45 4.15483 0.95 4.50968 1.45 4.94516 1.95 6.79677 2.45 9.87102 2.95 12.4388 3.45 13.0839 3.95 7.6 4.45 7.6 4.95 7.6"
+temperature = 205
+filament_cooling_final_speed = 1
+filament_cooling_initial_speed = 2
+filament_cooling_moves = 1
 filament_load_time = 12
+filament_loading_speed = 14
+filament_ramming_parameters = "120 110 2.70968 2.93548 3.32258 3.83871 4.58065 5.54839 6.51613 7.35484 7.93548 8.16129| 0.05 2.66451 0.45 3.05805 0.95 4.05807 1.45 5.97742 1.95 7.69999 2.45 8.1936 2.95 11.342 3.45 11.4065 3.95 7.6 4.45 7.6 4.95 7.6"
 filament_unload_time = 11
+filament_unloading_speed = 20
 
 [filament:Generic PLA MMU2]
 inherits = *PLA MMU2*
@@ -901,11 +936,13 @@ inherits = *PLA MMU2*
 
 [filament:SemiFlex or Flexfill 98A]
 inherits = *FLEX*
-filament_cost = 0
+filament_cost = 82
 filament_density = 1.22
 
 [filament:Taulman Bridge]
 inherits = *common*
+filament_cost = 40
+filament_density = 1.13
 bed_temperature = 90
 bridge_fan_speed = 40
 cooling = 0
@@ -925,6 +962,8 @@ temperature = 250
 
 [filament:Taulman T-Glase]
 inherits = *PET*
+filament_cost = 40
+filament_density = 1.27
 bridge_fan_speed = 40
 cooling = 0
 fan_always_on = 0
@@ -936,6 +975,8 @@ start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{el
 
 [filament:Verbatim BVOH]
 inherits = *common*
+filament_cost = 218
+filament_density = 1.23
 bed_temperature = 60
 bridge_fan_speed = 100
 cooling = 0
@@ -944,7 +985,7 @@ extrusion_multiplier = 1
 fan_always_on = 0
 fan_below_layer_time = 100
 filament_colour = #FFFFD7
-filament_max_volumetric_speed = 10
+filament_max_volumetric_speed = 4
 filament_notes = "List of materials tested with standart PLA print settings for MK2:\n\nDas Filament\nEsun PLA\nEUMAKERS PLA\nFiberlogy HD-PLA\nFillamentum PLA\nFloreon3D\nHatchbox PLA\nPlasty Mladeč PLA\nPrimavalue PLA\nProto pasta Matte Fiber\nVerbatim PLA\nVerbatim BVOH"
 filament_soluble = 1
 filament_type = PLA
@@ -955,8 +996,29 @@ min_fan_speed = 100
 start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{else}10{endif}; Filament gcode"
 temperature = 210
 
+[filament:Verbatim BVOH MMU2]
+inherits = Verbatim BVOH
+compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK3.*/ and single_extruder_multi_material
+temperature = 195
+filament_notes = BVOH
+fan_always_on = 1
+first_layer_temperature = 200
+filament_cooling_final_speed = 1
+filament_cooling_initial_speed = 2
+filament_max_volumetric_speed = 4
+filament_type = PVA
+filament_cooling_moves = 1
+filament_load_time = 12
+filament_loading_speed = 14
+filament_ramming_parameters = "120 110 1.74194 1.90323 2.16129 2.48387 2.83871 3.25806 3.83871 4.6129 5.41935 5.96774| 0.05 1.69677 0.45 1.96128 0.95 2.63872 1.45 3.46129 1.95 4.99031 2.45 6.12908 2.95 8.30974 3.45 11.4065 3.95 7.6 4.45 7.6 4.95 7.6"
+filament_unload_time = 11
+filament_unloading_speed = 20
+filament_unloading_speed_start = 100
+
 [filament:Verbatim PP]
 inherits = *common*
+filament_cost = 72
+filament_density = 0.89
 bed_temperature = 100
 bridge_fan_speed = 100
 cooling = 1
@@ -1215,6 +1277,7 @@ inherits = *mm2*
 # The 5x nozzle diameter defines the number of extruders. Other extruder parameters
 # (for example the retract values) are duplicaed from the first value, so they do not need 
 # to be defined explicitely.
+machine_max_acceleration_e = 8000,8000
 nozzle_diameter = 0.4,0.4,0.4,0.4,0.4
 extruder_colour = #FF8000;#0080FF;#00FFFF;#FF4F4F;#9FFF9F
 start_gcode = M107\nM115 U3.3.1 ; tell printer latest fw version\nM83  ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG21 ; set units to millimeters\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0  F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\n;M221 S{if layer_height<0.075}100{else}95{endif}\nG90 ; use absolute coordinates\nM83 ; use relative distances for extrusion\nG92 E0.0\n
@@ -1223,4 +1286,4 @@ end_gcode = {if has_wipe_tower}\nG1 E-15.0000 F3000\n{else}\nG1 X0 Y210 F7200\nG
 # The obsolete presets will be removed when upgrading from the legacy configuration structure (up to Slic3r 1.39.2) to 1.40.0 and newer.
 [obsolete_presets]
 print="0.05mm DETAIL 0.25 nozzle";"0.05mm DETAIL MK3";"0.05mm DETAIL";"0.20mm NORMAL MK3";"0.35mm FAST MK3";"print:0.15mm OPTIMAL MK3 MMU2";"print:0.20mm FAST MK3 MMU2"
-filament="ColorFabb Brass Bronze 1.75mm";"ColorFabb HT 1.75mm";"ColorFabb nGen 1.75mm";"ColorFabb Woodfil 1.75mm";"ColorFabb XT 1.75mm";"ColorFabb XT-CF20 1.75mm";"E3D PC-ABS 1.75mm";"Fillamentum ABS 1.75mm";"Fillamentum ASA 1.75mm";"Generic ABS 1.75mm";"Generic PET 1.75mm";"Generic PLA 1.75mm";"Prusa ABS 1.75mm";"Prusa HIPS 1.75mm";"Prusa PET 1.75mm";"Prusa PLA 1.75mm";"Taulman Bridge 1.75mm";"Taulman T-Glase 1.75mm"
+filament="ColorFabb Brass Bronze 1.75mm";"ColorFabb HT 1.75mm";"ColorFabb nGen 1.75mm";"ColorFabb Woodfil 1.75mm";"ColorFabb XT 1.75mm";"ColorFabb XT-CF20 1.75mm";"E3D PC-ABS 1.75mm";"Fillamentum ABS 1.75mm";"Fillamentum ASA 1.75mm";"Generic ABS 1.75mm";"Generic PET 1.75mm";"Generic PLA 1.75mm";"Prusa ABS 1.75mm";"Prusa HIPS 1.75mm";"Prusa PET 1.75mm";"Prusa PLA 1.75mm";"Taulman Bridge 1.75mm";"Taulman T-Glase 1.75mm"
\ No newline at end of file
diff --git a/xs/src/libslic3r/libslic3r.h b/xs/src/libslic3r/libslic3r.h
index 6db60440b..ddd056bc7 100644
--- a/xs/src/libslic3r/libslic3r.h
+++ b/xs/src/libslic3r/libslic3r.h
@@ -14,7 +14,7 @@
 #include <boost/thread.hpp>
 
 #define SLIC3R_FORK_NAME "Slic3r Prusa Edition"
-#define SLIC3R_VERSION "1.41.0-beta2"
+#define SLIC3R_VERSION "1.41.0"
 #define SLIC3R_BUILD "UNKNOWN"
 
 typedef int32_t coord_t;

From 453e7e37d3335c6fc1050d23f2e4cd7d11adc01c Mon Sep 17 00:00:00 2001
From: bubnikv <bubnikv@gmail.com>
Date: Sat, 1 Sep 2018 09:54:02 +0200
Subject: [PATCH 04/11] Bundled newer versions of PrusaResearch profiles.

---
 resources/profiles/PrusaResearch.idx | 2 ++
 resources/profiles/PrusaResearch.ini | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/resources/profiles/PrusaResearch.idx b/resources/profiles/PrusaResearch.idx
index 7a0c58aa6..63a81db49 100644
--- a/resources/profiles/PrusaResearch.idx
+++ b/resources/profiles/PrusaResearch.idx
@@ -1,3 +1,5 @@
+min_slic3r_version = 1.41.0-alpha
+0.2.2 Edited MMU2 Single mode purge line
 0.2.1 Added PET and BVOH settings for MMU2
 0.2.0-beta5 Fixed MMU1 ramming parameters
 0.2.0-beta4 Added filament loading speed at start, increased minimal purge on wipe tower
diff --git a/resources/profiles/PrusaResearch.ini b/resources/profiles/PrusaResearch.ini
index ab86af976..3b44a4bc7 100644
--- a/resources/profiles/PrusaResearch.ini
+++ b/resources/profiles/PrusaResearch.ini
@@ -5,7 +5,7 @@
 name = Prusa Research
 # Configuration version of this file. Config file will only be installed, if the config_version differs.
 # This means, the server may force the Slic3r configuration to be downgraded.
-config_version = 0.2.1
+config_version = 0.2.2
 # Where to get the updates from?
 config_update_url = https://raw.githubusercontent.com/prusa3d/Slic3r-settings/master/live/PrusaResearch/
 
@@ -1269,7 +1269,7 @@ default_filament_profile = Prusa PLA MMU2
 
 [printer:Original Prusa i3 MK3 MMU2 Single]
 inherits = *mm2*
-start_gcode = M107\nM115 U3.3.1 ; tell printer latest fw version\nM83  ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\nG21 ; set units to millimeters\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT?\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0  F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG90 ; use absolute coordinates\nM83 ; use relative distances for extrusion\nG92 E0.0\n
+start_gcode = M107\nM115 U3.4.0-RC2 ; tell printer latest fw version\nM83  ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\n\nG21 ; set units to millimeters\n\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT?\n; purge line\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0  F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG90 ; use absolute coordinates\nM83 ; use relative distances for extrusion\nG92 E0.0\n
 end_gcode = G1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n\nM702 C\n\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y200; home X axis\nM84 ; disable motors
 
 [printer:Original Prusa i3 MK3 MMU2]
@@ -1280,10 +1280,10 @@ inherits = *mm2*
 machine_max_acceleration_e = 8000,8000
 nozzle_diameter = 0.4,0.4,0.4,0.4,0.4
 extruder_colour = #FF8000;#0080FF;#00FFFF;#FF4F4F;#9FFF9F
-start_gcode = M107\nM115 U3.3.1 ; tell printer latest fw version\nM83  ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG21 ; set units to millimeters\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0  F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\n;M221 S{if layer_height<0.075}100{else}95{endif}\nG90 ; use absolute coordinates\nM83 ; use relative distances for extrusion\nG92 E0.0\n
+start_gcode = M107\nM115 U3.4.0-RC2 ; tell printer latest fw version\nM83  ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 W ; home all without mesh bed level\nG80 ; mesh bed leveling\nG21 ; set units to millimeters\n\n; Send the filament type to the MMU2.0 unit.\n; E stands for extruder number, F stands for filament type (0: default; 1:flex; 2: PVA)\nM403 E0 F{"" + ((filament_type[0]=="FLEX") ? 1 : ((filament_type[0]=="PVA") ? 2 : 0))}\nM403 E1 F{"" + ((filament_type[1]=="FLEX") ? 1 : ((filament_type[1]=="PVA") ? 2 : 0))}\nM403 E2 F{"" + ((filament_type[2]=="FLEX") ? 1 : ((filament_type[2]=="PVA") ? 2 : 0))}\nM403 E3 F{"" + ((filament_type[3]=="FLEX") ? 1 : ((filament_type[3]=="PVA") ? 2 : 0))}\nM403 E4 F{"" + ((filament_type[4]=="FLEX") ? 1 : ((filament_type[4]=="PVA") ? 2 : 0))}\n\n{if not has_single_extruder_multi_material_priming}\n;go outside print area\nG1 Y-3.0 F1000.0\nG1 Z0.4 F1000.0\n; select extruder\nT[initial_tool]\n; initial load\nG1 X55.0 E32.0 F1073.0\nG1 X5.0 E32.0 F1800.0\nG1 X55.0 E8.0 F2000.0\nG1 Z0.3 F1000.0\nG92 E0.0\nG1 X240.0 E25.0  F2200.0\nG1 Y-2.0 F1000.0\nG1 X55.0 E25 F1400.0\nG1 Z0.20 F1000.0\nG1 X5.0 E4.0 F1000.0\nG92 E0.0\n{endif}\n\nM221 S{if layer_height<0.075}100{else}95{endif}\nG90 ; use absolute coordinates\nM83 ; use relative distances for extrusion\nG92 E0.0\n
 end_gcode = {if has_wipe_tower}\nG1 E-15.0000 F3000\n{else}\nG1 X0 Y210 F7200\nG1 E2 F5000\nG1 E2 F5500\nG1 E2 F6000\nG1 E-15.0000 F5800\nG1 E-20.0000 F5500\nG1 E10.0000 F3000\nG1 E-10.0000 F3100\nG1 E10.0000 F3150\nG1 E-10.0000 F3250\nG1 E10.0000 F3300\n{endif}\n\n; Unload filament\nM702 C\n\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\n; Lift print head a bit\n{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+30, max_print_height)}{endif} ; Move print head up\nG1 X0 Y200; home X axis\nM84 ; disable motors\n
 
 # The obsolete presets will be removed when upgrading from the legacy configuration structure (up to Slic3r 1.39.2) to 1.40.0 and newer.
 [obsolete_presets]
 print="0.05mm DETAIL 0.25 nozzle";"0.05mm DETAIL MK3";"0.05mm DETAIL";"0.20mm NORMAL MK3";"0.35mm FAST MK3";"print:0.15mm OPTIMAL MK3 MMU2";"print:0.20mm FAST MK3 MMU2"
-filament="ColorFabb Brass Bronze 1.75mm";"ColorFabb HT 1.75mm";"ColorFabb nGen 1.75mm";"ColorFabb Woodfil 1.75mm";"ColorFabb XT 1.75mm";"ColorFabb XT-CF20 1.75mm";"E3D PC-ABS 1.75mm";"Fillamentum ABS 1.75mm";"Fillamentum ASA 1.75mm";"Generic ABS 1.75mm";"Generic PET 1.75mm";"Generic PLA 1.75mm";"Prusa ABS 1.75mm";"Prusa HIPS 1.75mm";"Prusa PET 1.75mm";"Prusa PLA 1.75mm";"Taulman Bridge 1.75mm";"Taulman T-Glase 1.75mm"
\ No newline at end of file
+filament="ColorFabb Brass Bronze 1.75mm";"ColorFabb HT 1.75mm";"ColorFabb nGen 1.75mm";"ColorFabb Woodfil 1.75mm";"ColorFabb XT 1.75mm";"ColorFabb XT-CF20 1.75mm";"E3D PC-ABS 1.75mm";"Fillamentum ABS 1.75mm";"Fillamentum ASA 1.75mm";"Generic ABS 1.75mm";"Generic PET 1.75mm";"Generic PLA 1.75mm";"Prusa ABS 1.75mm";"Prusa HIPS 1.75mm";"Prusa PET 1.75mm";"Prusa PLA 1.75mm";"Taulman Bridge 1.75mm";"Taulman T-Glase 1.75mm"

From 22569de00fb05d3e69695d1a07819b795bbde134 Mon Sep 17 00:00:00 2001
From: Martin Loidl <martin.loidl@gmail.com>
Date: Sat, 25 Aug 2018 08:50:42 +0200
Subject: [PATCH 05/11] fixes date for uploaded files

---
 xs/src/slic3r/Utils/Duet.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xs/src/slic3r/Utils/Duet.cpp b/xs/src/slic3r/Utils/Duet.cpp
index 865d2b418..82a42eb71 100644
--- a/xs/src/slic3r/Utils/Duet.cpp
+++ b/xs/src/slic3r/Utils/Duet.cpp
@@ -230,7 +230,7 @@ std::string Duet::timestamp_str() const
 	auto tm = *std::localtime(&t);
 
 	char buffer[BUFFER_SIZE];
-	std::strftime(buffer, BUFFER_SIZE, "time=%Y-%d-%mT%H:%M:%S", &tm);
+	std::strftime(buffer, BUFFER_SIZE, "time=%Y-%m-%dT%H:%M:%S", &tm);
 
 	return std::string(buffer);
 }

From f67060f0129cbe897e6a144b8181146c35ace174 Mon Sep 17 00:00:00 2001
From: YuSanka <yusanka@gmail.com>
Date: Wed, 5 Sep 2018 09:47:36 +0200
Subject: [PATCH 06/11] Fixed bug from issue #1169

---
 xs/src/slic3r/GUI/Field.cpp | 23 +++++++++++++++--------
 xs/src/slic3r/GUI/Field.hpp |  1 +
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/xs/src/slic3r/GUI/Field.cpp b/xs/src/slic3r/GUI/Field.cpp
index 757a18f11..44cdb33f5 100644
--- a/xs/src/slic3r/GUI/Field.cpp
+++ b/xs/src/slic3r/GUI/Field.cpp
@@ -234,14 +234,10 @@ namespace Slic3r { namespace GUI {
 		}), temp->GetId());
 
 #ifdef __WXGTK__
-		temp->Bind(wxEVT_KEY_UP, [this](wxKeyEvent& event)
-		{
-			if (bChangedValueEvent)	{
-				on_change_field();
-				bChangedValueEvent = false;
-			}
-			event.Skip();
-		});
+        // to correct value update on GTK we should call on_change_field() on 
+        // wxEVT_KEY_UP or wxEVT_TEXT_PASTE instead of wxEVT_TEXT
+        temp->Bind(wxEVT_KEY_UP, &TextCtrl::change_field_value, this);
+        temp->Bind(wxEVT_TEXT_PASTE, &TextCtrl::change_field_value, this);
 #endif //__WXGTK__
 
 		// select all text using Ctrl+A
@@ -267,6 +263,17 @@ namespace Slic3r { namespace GUI {
 	void TextCtrl::enable() { dynamic_cast<wxTextCtrl*>(window)->Enable(); dynamic_cast<wxTextCtrl*>(window)->SetEditable(true); }
     void TextCtrl::disable() { dynamic_cast<wxTextCtrl*>(window)->Disable(); dynamic_cast<wxTextCtrl*>(window)->SetEditable(false); }
 
+#ifdef __WXGTK__
+    void TextCtrl::change_field_value(wxEvent& event)
+    {
+        if (bChangedValueEvent)	{
+            on_change_field();
+            bChangedValueEvent = false;
+        }
+        event.Skip();
+    };
+#endif //__WXGTK__
+
 void CheckBox::BUILD() {
 	auto size = wxSize(wxDefaultSize);
 	if (m_opt.height >= 0) size.SetHeight(m_opt.height);
diff --git a/xs/src/slic3r/GUI/Field.hpp b/xs/src/slic3r/GUI/Field.hpp
index db8d2a408..67c7692fc 100644
--- a/xs/src/slic3r/GUI/Field.hpp
+++ b/xs/src/slic3r/GUI/Field.hpp
@@ -223,6 +223,7 @@ class TextCtrl : public Field {
     using Field::Field;
 #ifdef __WXGTK__
 	bool	bChangedValueEvent = false;
+    void    change_field_value(wxEvent& event);
 #endif //__WXGTK__
 public:
 	TextCtrl(const ConfigOptionDef& opt, const t_config_option_key& id) : Field(opt,  id) {}

From f95b84e913eee5b7cf800fee89c7b10bea05d090 Mon Sep 17 00:00:00 2001
From: Enrico Turri <enricoturri@seznam.cz>
Date: Wed, 5 Sep 2018 09:49:10 +0200
Subject: [PATCH 07/11] Fixed stl import when endsolid lines contains extra
 data

---
 xs/src/admesh/stlinit.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xs/src/admesh/stlinit.cpp b/xs/src/admesh/stlinit.cpp
index e572ce930..ed8beb9d1 100644
--- a/xs/src/admesh/stlinit.cpp
+++ b/xs/src/admesh/stlinit.cpp
@@ -287,7 +287,7 @@ stl_read(stl_file *stl, int first_facet, int first) {
     {
       // skip solid/endsolid
       // (in this order, otherwise it won't work when they are paired in the middle of a file)
-      fscanf(stl->fp, "endsolid\n");
+      fscanf(stl->fp, "endsolid%*[^\n]\n");
       fscanf(stl->fp, "solid%*[^\n]\n");  // name might contain spaces so %*s doesn't work and it also can be empty (just "solid")
       // Leading space in the fscanf format skips all leading white spaces including numerous new lines and tabs.
       int res_normal     = fscanf(stl->fp, " facet normal %31s %31s %31s", normal_buf[0], normal_buf[1], normal_buf[2]);

From e2830dc33736dc5afede0ea073a9e7671205fed3 Mon Sep 17 00:00:00 2001
From: YuSanka <yusanka@gmail.com>
Date: Wed, 5 Sep 2018 12:02:34 +0200
Subject: [PATCH 08/11] Fix to last commit

---
 xs/src/slic3r/GUI/Field.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/xs/src/slic3r/GUI/Field.cpp b/xs/src/slic3r/GUI/Field.cpp
index 44cdb33f5..228d320da 100644
--- a/xs/src/slic3r/GUI/Field.cpp
+++ b/xs/src/slic3r/GUI/Field.cpp
@@ -224,10 +224,13 @@ namespace Slic3r { namespace GUI {
 		}), temp->GetId());
 #endif // __WXGTK__
 
-		temp->Bind(wxEVT_TEXT, ([this](wxCommandEvent)
+		temp->Bind(wxEVT_TEXT, ([this](wxCommandEvent& evt)
 		{
 #ifdef __WXGTK__
-			bChangedValueEvent = true;
+            if (bChangedValueEvent)
+                change_field_value(ent);
+            else
+			    bChangedValueEvent = true;
 #else
 			on_change_field();
 #endif //__WXGTK__
@@ -266,7 +269,9 @@ namespace Slic3r { namespace GUI {
 #ifdef __WXGTK__
     void TextCtrl::change_field_value(wxEvent& event)
     {
-        if (bChangedValueEvent)	{
+        if (event.GetEventType() == wxEVT_TEXT_PASTE)
+            bChangedValueEvent = true;
+        else if (bChangedValueEvent) {
             on_change_field();
             bChangedValueEvent = false;
         }

From 8ba48f8dc508fcde572514052cfa1acb91644c4f Mon Sep 17 00:00:00 2001
From: YuSanka <yusanka@gmail.com>
Date: Wed, 5 Sep 2018 12:33:04 +0200
Subject: [PATCH 09/11] fixed typo-bug

---
 xs/src/slic3r/GUI/Field.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xs/src/slic3r/GUI/Field.cpp b/xs/src/slic3r/GUI/Field.cpp
index 228d320da..f679de1fa 100644
--- a/xs/src/slic3r/GUI/Field.cpp
+++ b/xs/src/slic3r/GUI/Field.cpp
@@ -228,7 +228,7 @@ namespace Slic3r { namespace GUI {
 		{
 #ifdef __WXGTK__
             if (bChangedValueEvent)
-                change_field_value(ent);
+                change_field_value(evt);
             else
 			    bChangedValueEvent = true;
 #else

From 82838cc640950a2505e77b0b5205f74cd86dfdf1 Mon Sep 17 00:00:00 2001
From: YuSanka <yusanka@gmail.com>
Date: Wed, 5 Sep 2018 15:03:20 +0200
Subject: [PATCH 10/11] Final bug-fix for #1169 considering issue #971

---
 xs/src/slic3r/GUI/Field.cpp | 23 ++++++++---------------
 xs/src/slic3r/GUI/Field.hpp |  2 +-
 2 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/xs/src/slic3r/GUI/Field.cpp b/xs/src/slic3r/GUI/Field.cpp
index f679de1fa..c7f1d48ff 100644
--- a/xs/src/slic3r/GUI/Field.cpp
+++ b/xs/src/slic3r/GUI/Field.cpp
@@ -227,20 +227,17 @@ namespace Slic3r { namespace GUI {
 		temp->Bind(wxEVT_TEXT, ([this](wxCommandEvent& evt)
 		{
 #ifdef __WXGTK__
-            if (bChangedValueEvent)
-                change_field_value(evt);
-            else
-			    bChangedValueEvent = true;
-#else
-			on_change_field();
+			if (bChangedValueEvent)
 #endif //__WXGTK__
+			on_change_field();
 		}), temp->GetId());
 
 #ifdef __WXGTK__
-        // to correct value update on GTK we should call on_change_field() on 
-        // wxEVT_KEY_UP or wxEVT_TEXT_PASTE instead of wxEVT_TEXT
+        // to correct value updating on GTK we should:
+        // call on_change_field() on wxEVT_KEY_UP instead of wxEVT_TEXT
+        // and prevent value updating on wxEVT_KEY_DOWN
+        temp->Bind(wxEVT_KEY_DOWN, &TextCtrl::change_field_value, this);
         temp->Bind(wxEVT_KEY_UP, &TextCtrl::change_field_value, this);
-        temp->Bind(wxEVT_TEXT_PASTE, &TextCtrl::change_field_value, this);
 #endif //__WXGTK__
 
 		// select all text using Ctrl+A
@@ -269,12 +266,8 @@ namespace Slic3r { namespace GUI {
 #ifdef __WXGTK__
     void TextCtrl::change_field_value(wxEvent& event)
     {
-        if (event.GetEventType() == wxEVT_TEXT_PASTE)
-            bChangedValueEvent = true;
-        else if (bChangedValueEvent) {
-            on_change_field();
-            bChangedValueEvent = false;
-        }
+    	if (bChangedValueEvent = event.GetEventType()==wxEVT_KEY_UP)
+    		on_change_field();
         event.Skip();
     };
 #endif //__WXGTK__
diff --git a/xs/src/slic3r/GUI/Field.hpp b/xs/src/slic3r/GUI/Field.hpp
index 67c7692fc..923f0fd7e 100644
--- a/xs/src/slic3r/GUI/Field.hpp
+++ b/xs/src/slic3r/GUI/Field.hpp
@@ -222,7 +222,7 @@ inline bool is_sizer_field(const t_field& obj) { return !is_bad_field(obj) && ob
 class TextCtrl : public Field {
     using Field::Field;
 #ifdef __WXGTK__
-	bool	bChangedValueEvent = false;
+	bool	bChangedValueEvent = true;
     void    change_field_value(wxEvent& event);
 #endif //__WXGTK__
 public:

From 125ece0aadb51814473787a33852cf94a48a53fd Mon Sep 17 00:00:00 2001
From: YuSanka <yusanka@gmail.com>
Date: Fri, 7 Sep 2018 09:33:18 +0200
Subject: [PATCH 11/11] Fixed #1204

---
 lib/Slic3r/GUI/Plater/OverrideSettingsPanel.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/Slic3r/GUI/Plater/OverrideSettingsPanel.pm b/lib/Slic3r/GUI/Plater/OverrideSettingsPanel.pm
index 3b10ed99f..ea4ce7132 100644
--- a/lib/Slic3r/GUI/Plater/OverrideSettingsPanel.pm
+++ b/lib/Slic3r/GUI/Plater/OverrideSettingsPanel.pm
@@ -136,7 +136,7 @@ sub update_optgroup {
             full_labels     => 1,
             label_font      => $Slic3r::GUI::small_font,
             sidetext_font   => $Slic3r::GUI::small_font,
-            label_width     => 120,
+            label_width     => 150,
             on_change       => sub { $self->{on_change}->() if $self->{on_change} },
             extra_column    => sub {
                 my ($line) = @_;