Merge branch 'master' of https://github.com/prusa3d/Slic3r into gcode_preview

This commit is contained in:
Enrico Turri 2018-02-05 13:28:10 +01:00
commit 593d794655
7 changed files with 75 additions and 68 deletions

View file

@ -1,4 +1,4 @@
# generated by Slic3r Prusa Edition 1.39.0 on 2018-01-06 at 15:09:55
# generated by Slic3r Prusa Edition 1.39.0.29-prusa3d-win64 on 2018-01-22 at 14:53:14
[print:0.05mm DETAIL]
avoid_crossing_perimeters = 0
@ -532,7 +532,7 @@ xy_size_compensation = 0
[print:0.10mm DETAIL MK3]
avoid_crossing_perimeters = 0
bottom_solid_layers = 4
bottom_solid_layers = 7
bridge_acceleration = 1000
bridge_angle = 0
bridge_flow_ratio = 0.8
@ -563,17 +563,17 @@ first_layer_height = 0.2
first_layer_speed = 30
gap_fill_speed = 40
gcode_comments = 0
infill_acceleration = 3500
infill_acceleration = 1500
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0.45
infill_first = 0
infill_only_where_needed = 0
infill_overlap = 25%
infill_speed = 200
infill_speed = 170
interface_shells = 0
layer_height = 0.1
max_print_speed = 250
max_print_speed = 170
max_volumetric_extrusion_rate_slope_negative = 0
max_volumetric_extrusion_rate_slope_positive = 0
max_volumetric_speed = 0
@ -601,7 +601,7 @@ solid_infill_below_area = 0
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0.45
solid_infill_speed = 200
solid_infill_speed = 170
spiral_vase = 0
standby_temperature_delta = -5
support_material = 0
@ -627,8 +627,8 @@ thin_walls = 0
threads = 4
top_infill_extrusion_width = 0.4
top_solid_infill_speed = 50
top_solid_layers = 5
travel_speed = 250
top_solid_layers = 9
travel_speed = 170
wipe_tower = 0
wipe_tower_per_color_wipe = 15
wipe_tower_width = 60
@ -1062,7 +1062,7 @@ xy_size_compensation = 0
[print:0.15mm OPTIMAL MK3]
avoid_crossing_perimeters = 0
bottom_solid_layers = 4
bottom_solid_layers = 5
bridge_acceleration = 1000
bridge_angle = 0
bridge_flow_ratio = 0.8
@ -1093,17 +1093,17 @@ first_layer_height = 0.2
first_layer_speed = 30
gap_fill_speed = 40
gcode_comments = 0
infill_acceleration = 3500
infill_acceleration = 1500
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0.45
infill_first = 0
infill_only_where_needed = 0
infill_overlap = 25%
infill_speed = 200
infill_speed = 170
interface_shells = 0
layer_height = 0.15
max_print_speed = 250
max_print_speed = 170
max_volumetric_extrusion_rate_slope_negative = 0
max_volumetric_extrusion_rate_slope_positive = 0
max_volumetric_speed = 0
@ -1131,7 +1131,7 @@ solid_infill_below_area = 0
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0.45
solid_infill_speed = 200
solid_infill_speed = 170
spiral_vase = 0
standby_temperature_delta = -5
support_material = 0
@ -1157,8 +1157,8 @@ thin_walls = 0
threads = 4
top_infill_extrusion_width = 0.4
top_solid_infill_speed = 50
top_solid_layers = 5
travel_speed = 250
top_solid_layers = 7
travel_speed = 170
wipe_tower = 1
wipe_tower_per_color_wipe = 15
wipe_tower_width = 60
@ -1517,17 +1517,17 @@ first_layer_height = 0.2
first_layer_speed = 30
gap_fill_speed = 40
gcode_comments = 0
infill_acceleration = 3500
infill_acceleration = 1500
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0.45
infill_first = 0
infill_only_where_needed = 0
infill_overlap = 25%
infill_speed = 200
infill_speed = 170
interface_shells = 0
layer_height = 0.2
max_print_speed = 250
max_print_speed = 170
max_volumetric_extrusion_rate_slope_negative = 0
max_volumetric_extrusion_rate_slope_positive = 0
max_volumetric_speed = 0
@ -1555,7 +1555,7 @@ solid_infill_below_area = 0
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0.45
solid_infill_speed = 200
solid_infill_speed = 170
spiral_vase = 0
standby_temperature_delta = -5
support_material = 0
@ -1582,7 +1582,7 @@ threads = 4
top_infill_extrusion_width = 0.4
top_solid_infill_speed = 50
top_solid_layers = 5
travel_speed = 250
travel_speed = 170
wipe_tower = 1
wipe_tower_per_color_wipe = 15
wipe_tower_width = 60
@ -2807,13 +2807,13 @@ filament_settings_id =
filament_soluble = 0
filament_type = PET
first_layer_bed_temperature = 90
first_layer_temperature = 260
max_fan_speed = 80
min_fan_speed = 80
first_layer_temperature = 275
max_fan_speed = 50
min_fan_speed = 50
min_print_speed = 5
slowdown_below_layer_time = 20
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{else}45{endif}; Filament gcode"
temperature = 260
temperature = 275
[filament:Fillamentum Timberfil]
bed_temperature = 60
@ -3120,19 +3120,19 @@ filament_colour = #00CA0A
filament_cost = 0
filament_density = 0
filament_diameter = 1.75
filament_max_volumetric_speed = 2.5
filament_max_volumetric_speed = 1.5
filament_notes = "List of materials tested with FLEX print settings & FLEX material settings for MK2:\n\nFillamentum Flex 98A\nFillamentum Flex 92A\nPlasty Mladeč PP\nPlasty Mladeč TPE32 \nPlasty Mladeč TPE88"
filament_settings_id =
filament_soluble = 0
filament_type = FLEX
first_layer_bed_temperature = 50
first_layer_temperature = 220
first_layer_temperature = 240
max_fan_speed = 90
min_fan_speed = 70
min_print_speed = 5
slowdown_below_layer_time = 20
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{else}10{endif}; Filament gcode"
temperature = 230
temperature = 240
[filament:Taulman Bridge]
bed_temperature = 50
@ -3560,7 +3560,7 @@ retract_speed = 35
serial_port =
serial_speed = 250000
single_extruder_multi_material = 0
start_gcode = M115 U3.1.1-RC4 ; tell printer latest fw version\nM201 X1000 Y1000 Z200 E5000 ; sets maximum accelerations, mm/sec^2\nM203 X500 Y500 Z12 E120 ; sets maximum feedrates, mm/sec\nM204 S1250 T1250 ; sets acceleration (S) and retract acceleration (T)\nM205 X15 Y15 Z0.4 E2.5 ; sets the jerk limits, mm/sec\nM205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec\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\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S95
start_gcode = M115 U3.1.1-RC5 ; tell printer latest fw version\nM201 X1000 Y1000 Z200 E5000 ; sets maximum accelerations, mm/sec^2\nM203 X200 Y200 Z12 E120 ; sets maximum feedrates, mm/sec\nM204 S1250 T1250 ; sets acceleration (S) and retract acceleration (T)\nM205 X10 Y10 Z0.4 E2.5 ; sets the jerk limits, mm/sec\nM205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec\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\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S{if layer_height==0.05}100{else}95{endif}
toolchange_gcode =
use_firmware_retraction = 0
use_relative_e_distances = 1

View file

@ -1,4 +1,4 @@
# generated by Slic3r Prusa Edition 1.39.0 on 2018-01-06 at 15:12:34
# generated by Slic3r Prusa Edition 1.39.0 on 2018-02-02 at 10:48:46
[print:0.05mm DETAIL]
avoid_crossing_perimeters = 0
@ -532,7 +532,7 @@ xy_size_compensation = 0
[print:0.10mm DETAIL MK3]
avoid_crossing_perimeters = 0
bottom_solid_layers = 4
bottom_solid_layers = 7
bridge_acceleration = 1000
bridge_angle = 0
bridge_flow_ratio = 0.8
@ -563,17 +563,17 @@ first_layer_height = 0.2
first_layer_speed = 30
gap_fill_speed = 40
gcode_comments = 0
infill_acceleration = 3500
infill_acceleration = 1500
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0.45
infill_first = 0
infill_only_where_needed = 0
infill_overlap = 25%
infill_speed = 200
infill_speed = 170
interface_shells = 0
layer_height = 0.1
max_print_speed = 250
max_print_speed = 170
max_volumetric_extrusion_rate_slope_negative = 0
max_volumetric_extrusion_rate_slope_positive = 0
max_volumetric_speed = 0
@ -601,7 +601,7 @@ solid_infill_below_area = 0
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0.45
solid_infill_speed = 200
solid_infill_speed = 170
spiral_vase = 0
standby_temperature_delta = -5
support_material = 0
@ -627,8 +627,8 @@ thin_walls = 0
threads = 4
top_infill_extrusion_width = 0.4
top_solid_infill_speed = 50
top_solid_layers = 5
travel_speed = 250
top_solid_layers = 9
travel_speed = 170
wipe_tower = 0
wipe_tower_per_color_wipe = 15
wipe_tower_width = 60
@ -1062,7 +1062,7 @@ xy_size_compensation = 0
[print:0.15mm OPTIMAL MK3]
avoid_crossing_perimeters = 0
bottom_solid_layers = 4
bottom_solid_layers = 5
bridge_acceleration = 1000
bridge_angle = 0
bridge_flow_ratio = 0.8
@ -1093,17 +1093,17 @@ first_layer_height = 0.2
first_layer_speed = 30
gap_fill_speed = 40
gcode_comments = 0
infill_acceleration = 3500
infill_acceleration = 1500
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0.45
infill_first = 0
infill_only_where_needed = 0
infill_overlap = 25%
infill_speed = 200
infill_speed = 170
interface_shells = 0
layer_height = 0.15
max_print_speed = 250
max_print_speed = 170
max_volumetric_extrusion_rate_slope_negative = 0
max_volumetric_extrusion_rate_slope_positive = 0
max_volumetric_speed = 0
@ -1131,7 +1131,7 @@ solid_infill_below_area = 0
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0.45
solid_infill_speed = 200
solid_infill_speed = 170
spiral_vase = 0
standby_temperature_delta = -5
support_material = 0
@ -1157,8 +1157,8 @@ thin_walls = 0
threads = 4
top_infill_extrusion_width = 0.4
top_solid_infill_speed = 50
top_solid_layers = 5
travel_speed = 250
top_solid_layers = 7
travel_speed = 170
wipe_tower = 1
wipe_tower_per_color_wipe = 15
wipe_tower_width = 60
@ -1517,17 +1517,17 @@ first_layer_height = 0.2
first_layer_speed = 30
gap_fill_speed = 40
gcode_comments = 0
infill_acceleration = 3500
infill_acceleration = 1500
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0.45
infill_first = 0
infill_only_where_needed = 0
infill_overlap = 25%
infill_speed = 200
infill_speed = 170
interface_shells = 0
layer_height = 0.2
max_print_speed = 250
max_print_speed = 170
max_volumetric_extrusion_rate_slope_negative = 0
max_volumetric_extrusion_rate_slope_positive = 0
max_volumetric_speed = 0
@ -1555,7 +1555,7 @@ solid_infill_below_area = 0
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0.45
solid_infill_speed = 200
solid_infill_speed = 170
spiral_vase = 0
standby_temperature_delta = -5
support_material = 0
@ -1582,7 +1582,7 @@ threads = 4
top_infill_extrusion_width = 0.4
top_solid_infill_speed = 50
top_solid_layers = 5
travel_speed = 250
travel_speed = 170
wipe_tower = 1
wipe_tower_per_color_wipe = 15
wipe_tower_width = 60
@ -2807,13 +2807,13 @@ filament_settings_id =
filament_soluble = 0
filament_type = PET
first_layer_bed_temperature = 90
first_layer_temperature = 260
max_fan_speed = 80
min_fan_speed = 80
first_layer_temperature = 275
max_fan_speed = 50
min_fan_speed = 50
min_print_speed = 5
slowdown_below_layer_time = 20
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{else}45{endif}; Filament gcode"
temperature = 260
temperature = 275
[filament:Fillamentum Timberfil]
bed_temperature = 60
@ -3120,19 +3120,19 @@ filament_colour = #00CA0A
filament_cost = 0
filament_density = 0
filament_diameter = 1.75
filament_max_volumetric_speed = 2.5
filament_max_volumetric_speed = 1.5
filament_notes = "List of materials tested with FLEX print settings & FLEX material settings for MK2:\n\nFillamentum Flex 98A\nFillamentum Flex 92A\nPlasty Mladeč PP\nPlasty Mladeč TPE32 \nPlasty Mladeč TPE88"
filament_settings_id =
filament_soluble = 0
filament_type = FLEX
first_layer_bed_temperature = 50
first_layer_temperature = 220
first_layer_temperature = 240
max_fan_speed = 90
min_fan_speed = 70
min_print_speed = 5
slowdown_below_layer_time = 20
start_filament_gcode = "M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{else}10{endif}; Filament gcode"
temperature = 230
temperature = 240
[filament:Taulman Bridge]
bed_temperature = 50
@ -3280,7 +3280,7 @@ retract_speed = 35
serial_port =
serial_speed = 250000
single_extruder_multi_material = 0
start_gcode = M115 U3.1.1-RC4 ; tell printer latest fw version\nM201 X1000 Y1000 Z200 E5000 ; sets maximum accelerations, mm/sec^2\nM203 X500 Y500 Z12 E120 ; sets maximum feedrates, mm/sec\nM204 S1250 T1250 ; sets acceleration (S) and retract acceleration (T)\nM205 X15 Y15 Z0.4 E2.5 ; sets the jerk limits, mm/sec\nM205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec\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\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S95
start_gcode = M115 U3.1.1-RC5 ; tell printer latest fw version\nM201 X1000 Y1000 Z200 E5000 ; sets maximum accelerations, mm/sec^2\nM203 X200 Y200 Z12 E120 ; sets maximum feedrates, mm/sec\nM204 S1250 T1250 ; sets acceleration (S) and retract acceleration (T)\nM205 X10 Y10 Z0.4 E2.5 ; sets the jerk limits, mm/sec\nM205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec\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\nG1 Y-3.0 F1000.0 ; go outside print area\nG92 E0.0\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0\nM221 S{if layer_height==0.05}100{else}95{endif}
toolchange_gcode =
use_firmware_retraction = 0
use_relative_e_distances = 1

View file

@ -1,4 +1,4 @@
use Test::More tests => 71;
use Test::More tests => 77;
use strict;
use warnings;
@ -91,8 +91,14 @@ use Slic3r::Test;
is $parser->evaluate_boolean_expression('(12 == 2 * 6) ? (1 - 1 == 3) : (2 * 2 == 4)'), 0, 'boolean expression parser: ternary true';
is $parser->evaluate_boolean_expression('12 < 3'), 0, 'boolean expression parser: lower than - false';
is $parser->evaluate_boolean_expression('12 < 22'), 1, 'boolean expression parser: lower than - true';
is $parser->evaluate_boolean_expression('12 > 3'), 1, 'boolean expression parser: lower than - true';
is $parser->evaluate_boolean_expression('12 > 22'), 0, 'boolean expression parser: lower than - false';
is $parser->evaluate_boolean_expression('12 > 3'), 1, 'boolean expression parser: greater than - true';
is $parser->evaluate_boolean_expression('12 > 22'), 0, 'boolean expression parser: greater than - false';
is $parser->evaluate_boolean_expression('12 <= 3'), 0, 'boolean expression parser: lower than or equal- false';
is $parser->evaluate_boolean_expression('12 <= 22'), 1, 'boolean expression parser: lower than or equal - true';
is $parser->evaluate_boolean_expression('12 >= 3'), 1, 'boolean expression parser: greater than or equal - true';
is $parser->evaluate_boolean_expression('12 >= 22'), 0, 'boolean expression parser: greater than or equal - false';
is $parser->evaluate_boolean_expression('12 <= 12'), 1, 'boolean expression parser: lower than or equal (same values) - true';
is $parser->evaluate_boolean_expression('12 >= 12'), 1, 'boolean expression parser: greater than or equal (same values) - true';
is $parser->evaluate_boolean_expression('printer_notes=~/.*PRINTER_VENDOR_PRUSA3D.*/ and printer_notes=~/.*PRINTER_MODEL_MK2.*/ and nozzle_diameter[0]==0.6 and num_extruders>1'), 1, 'complex expression';
is $parser->evaluate_boolean_expression('printer_notes=~/.*PRINTER_VEwerfNDOR_PRUSA3D.*/ or printer_notes=~/.*PRINTertER_MODEL_MK2.*/ or (nozzle_diameter[0]==0.6 and num_extruders>1)'), 1, 'complex expression2';

View file

@ -483,8 +483,9 @@ PerimeterGenerator::_variable_width(const ThickPolylines &polylines, ExtrusionRo
if (path.polyline.points.empty()) {
path.polyline.append(line.a);
path.polyline.append(line.b);
flow.width = unscale(w);
// Convert from spacing to extrusion width based on the extrusion model
// of a square extrusion ended with semi circles.
flow.width = unscale(w) + flow.height * (1. - 0.25 * PI);
#ifdef SLIC3R_DEBUG
printf(" filling %f gap\n", flow.width);
#endif

View file

@ -974,10 +974,10 @@ namespace client
relational_expression =
additive_expression(_r1) [_val = _1]
>> *( (lit('<') > additive_expression(_r1) ) [px::bind(&expr<Iterator>::lower, _val, _1)]
| (lit('>') > additive_expression(_r1) ) [px::bind(&expr<Iterator>::greater, _val, _1)]
| ("<=" > additive_expression(_r1) ) [px::bind(&expr<Iterator>::leq, _val, _1)]
>> *( ("<=" > additive_expression(_r1) ) [px::bind(&expr<Iterator>::leq, _val, _1)]
| (">=" > additive_expression(_r1) ) [px::bind(&expr<Iterator>::geq, _val, _1)]
| (lit('<') > additive_expression(_r1) ) [px::bind(&expr<Iterator>::lower, _val, _1)]
| (lit('>') > additive_expression(_r1) ) [px::bind(&expr<Iterator>::greater, _val, _1)]
);
relational_expression.name("relational_expression");

View file

@ -200,10 +200,10 @@ PrintConfigDef::PrintConfigDef()
def->default_value = new ConfigOptionFloat(6);
def = this->add("elefant_foot_compensation", coFloat);
def->label = "Elefant foot compensation";
def->label = "Elephant foot compensation";
def->category = "Advanced";
def->tooltip = "The first layer will be shrunk in the XY plane by the configured value "
"to compensate for the 1st layer squish aka an Elefant Foot effect.";
"to compensate for the 1st layer squish aka an Elephant Foot effect.";
def->sidetext = "mm";
def->cli = "elefant-foot-compensation=f";
def->min = 0;

View file

@ -18,8 +18,8 @@
bool is_compatible_with_printer(Preset *active_printer)
%code%{ RETVAL = THIS->is_compatible_with_printer(*active_printer); %};
const char* name() %code%{ RETVAL = THIS->name.c_str(); %};
const char* file() %code%{ RETVAL = THIS->file.c_str(); %};
std::string name() %code%{ RETVAL = THIS->name; %};
std::string file() %code%{ RETVAL = THIS->file; %};
bool loaded() %code%{ RETVAL = THIS->loaded; %};