diff options
Diffstat (limited to 'resources')
20 files changed, 632 insertions, 31 deletions
diff --git a/resources/definitions/elegoo_neptune_2.def.json b/resources/definitions/elegoo_neptune_2.def.json new file mode 100644 index 0000000000..76dc16aec4 --- /dev/null +++ b/resources/definitions/elegoo_neptune_2.def.json @@ -0,0 +1,46 @@ +{ + "name": "Neptune 2", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Toylerrr", + "manufacturer": "Elegoo", + "platform": "elegoo_neptune_2.stl", + "platform_offset": [0,0,0], + "has_machine_quality": true, + "preferred_quality_type": "normal", + "file_formats": "text/x-gcode", + "machine_extruder_trains": + { + "0": "elegoo_neptune2_extruder_0" + } + }, + + "overrides": { + "machine_name": {"default_value": "ELEGOO Neptune 2"}, + "machine_width": {"default_value": 235}, + "machine_height": {"default_value": 260}, + "machine_depth": {"default_value": 235}, + "machine_heated_bed": {"default_value": true}, + "material_diameter": { "default_value": 1.75 }, + "machine_head_with_fans_polygon": {"value": [[-30, 35], [-30, -10], [25, 35], [25, -10]]}, + "gantry_height": {"value": 30}, + "speed_print": { "value": 60.0 } , + "z_seam_type":{"default_value": "back"}, + "z_seam_corner":{"default_value": "z_seam_corner_weighted"}, + "material_standby_temperature":{"default_value": 200,"settable_per_extruder": false}, + "retraction_enable":{"default_value": true}, + "retraction_amount":{"default_value": 5}, + "retraction_speed":{"default_value": 70}, + "adhesion_type":{"default_value": "skirt"}, + "raft_margin":{"default_value": 5}, + "raft_airgap":{"default_value": 0.25}, + "brim_width":{"default_value": 5}, + "skin_angles":{"default_value": [45, 135]}, + "infill_pattern":{"default_value": "gyroid"}, + "machine_gcode_flavor": {"default_value": "RepRap (Marlin/Sprinter)"}, + "machine_start_gcode": {"default_value": ";simage\n;gimage\nG28 ;home\nG92 E0 ;Reset Extruder\nG1 Z4.0 F3000 ;Move Z Axis up\nG92 E0 ;Reset Extruder\nG1 X1.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X1.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X1.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X1.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up"}, + "machine_end_gcode": {"default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F1600 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z"} + } +} diff --git a/resources/definitions/elegoo_neptune_2D.def.json b/resources/definitions/elegoo_neptune_2D.def.json new file mode 100644 index 0000000000..ede0eb166c --- /dev/null +++ b/resources/definitions/elegoo_neptune_2D.def.json @@ -0,0 +1,55 @@ +{ + "name": "Neptune 2D", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Toylerrr", + "manufacturer": "Elegoo", + "platform": "elegoo_neptune_2.stl", + "platform_offset": [0,0,0], + "has_machine_quality": true, + "preferred_quality_type": "normal", + "file_formats": "text/x-gcode", + "machine_extruder_trains": + { + "0": "elegoo_neptune2D_extruder_0", + "1": "elegoo_neptune2D_extruder_1" + } + }, + + "overrides": { + "machine_name": {"default_value": "ELEGOO Neptune 2D"}, + "machine_extruder_count": {"default_value": 2}, + "machine_width": {"default_value": 235}, + "machine_height": {"default_value": 260}, + "machine_depth": {"default_value": 235}, + "machine_heated_bed": {"default_value": true}, + "material_diameter": { "default_value": 1.75 }, + "machine_head_with_fans_polygon": {"value": [[-30, 35], [-30, -10], [25, 35], [25, -10]]}, + "gantry_height": {"value": 30}, + "machine_extruders_share_heater": {"default_value": true}, + "machine_extruders_share_nozzle": {"default_value": true}, + "machine_always_write_active_tool": {"default_value": true}, + "prime_blob_enable": {"default_value": false}, + "prime_tower_enable": {"default_value": true}, + "prime_tower_size": {"default_value": 30}, + "prime_tower_min_volume": {"default_value": 90}, + "speed_print": { "value": 60.0 }, + "z_seam_type":{"default_value": "back"}, + "z_seam_corner":{"default_value": "z_seam_corner_weighted"}, + "material_standby_temperature":{"default_value": 200,"settable_per_extruder": false}, + "retraction_enable":{"default_value": true}, + "retraction_amount":{"default_value": 5}, + "retraction_speed":{"default_value": 70}, + "adhesion_type":{"default_value": "skirt"}, + "raft_margin":{"default_value": 5}, + "raft_airgap":{"default_value": 0.25}, + "brim_width":{"default_value": 5}, + "skin_angles":{"default_value": [45, 135]}, + "infill_pattern":{"default_value": "gyroid"}, + "machine_gcode_flavor": {"default_value": "RepRap (Marlin/Sprinter)"}, + "machine_start_gcode": {"default_value": ";simage\n;gimage\nG28 ;home\n;G29 ;Run ABL\n;M420 S1 ;Enable ABL mesh\nG92 E0 ;Reset Extruder\nG1 Z4.0 F3000 ;Move Z Axis up\nG92 E0 ;Reset Extruder\nG1 X2.0 Y20 Z0.28 F5000.0 ;Move to start position\nG1 E90 F1200 ;Load filament\nG92 E0 ;Reset Extruder\nG1 X2.0 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X2.3 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X2.3 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up"}, + "machine_end_gcode": {"default_value": "G91 ;Relative positionning\nG1 E-2 F2700 ;Retract a bit\nG1 E-80 Z0.2 F1600 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\nM84 X Y E ;Disable all steppers but Z"} + } +} diff --git a/resources/definitions/eryone_thinker.def.json b/resources/definitions/eryone_thinker.def.json index 34e333f9cc..33c96f45ca 100644 --- a/resources/definitions/eryone_thinker.def.json +++ b/resources/definitions/eryone_thinker.def.json @@ -27,21 +27,33 @@ "machine_name": { "default_value": "Eryone Thinker Series" }, - "machine_heated_bed": { - "default_value": true + "machine_start_gcode": { + "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z10.0 F600 ;move the platform down 10mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Y-3 F1200 ;move to prime\nG1 X10 F1200 ;\nG1 Z0.1 F600 ;get ready to prime\nG1 X120 E15 F1200 ;prime nozzle \nG1 X120 F3600 ;quick wipe\nG92 E0 ;zero the extruded length\nM413 S1 ;enable resume from power failure\nM117 Printing..." + }, + "machine_end_gcode": { + "default_value": "M104 S0 ;turn off extruder\nM140 S0 ;turn off bed\nM107 ;turn off all fans\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG1 X0 Y250 F4800 ; position for easy part removal\nM84 ;steppers off" + }, + "material_diameter": { + "default_value": 1.75 }, "machine_width": { "default_value": 300 }, + "machine_depth": { + "default_value": 300 + }, "machine_height": { "default_value": 400 }, - "machine_depth": { - "default_value": 300 + "machine_heated_bed": { + "default_value": true }, "machine_center_is_zero": { "default_value": false }, + "machine_gcode_flavor": { + "default_value": "RepRap (Marlin/Sprinter)" + }, "machine_head_with_fans_polygon": { "default_value": [ [-20, 30], @@ -51,16 +63,7 @@ ] }, "gantry_height": { - "value": 30 - }, - "machine_gcode_flavor": { - "default_value": "RepRap (Marlin/Sprinter)" - }, - "machine_start_gcode": { - "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z10.0 F600 ;move the platform down 10mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Y-3 F1200 ;move to prime\nG1 X10 F1200 ;\nG1 Z0.1 F600 ;get ready to prime\nG1 X120 E15 F1200 ;prime nozzle \nG1 X120 F3600 ;quick wipe\nG92 E0 ;zero the extruded length\nM413 S1 ;enable resume from power failure\nM117 Printing..." - }, - "machine_end_gcode": { - "default_value": "M104 S0 ;turn off extruder\nM140 S0 ;turn off bed\nM107 ;turn off all fans\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 ;move Z up a bit and retract filament even more\nG90 ;absolute positioning\nG1 X0 Y250 F4800 ; position for easy part removal\nM84 ;steppers off" + "value": 30 }, "layer_height": { "value": 0.2 diff --git a/resources/definitions/eryone_thinker_direct.def.json b/resources/definitions/eryone_thinker_direct.def.json new file mode 100644 index 0000000000..c27645235b --- /dev/null +++ b/resources/definitions/eryone_thinker_direct.def.json @@ -0,0 +1,18 @@ +{ + "name": "Eryone Thinker DirectDrive", + "version": 2, + "inherits": "eryone_thinker", + "overrides": { + "machine_name": { "default_value": "Eryone Thinker DirectDrive" } + }, + "metadata": { + "quality_definition": "eryone_thinker", + "speed_print": { + "maximum_value_warning": 130 + }, + "retraction_speed": { + "default_value": 35, + "maximum_value_warning": 40 + } + } +}
\ No newline at end of file diff --git a/resources/definitions/makergear_m2.def.json b/resources/definitions/makergear_m2.def.json new file mode 100644 index 0000000000..50115a6787 --- /dev/null +++ b/resources/definitions/makergear_m2.def.json @@ -0,0 +1,49 @@ +{ + "name": "MakerGear M2", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "William Anderson", + "manufacturer": "MakerGear", + "platform": "makergear_m2_platform.3mf", + "file_formats": "text/x-gcode", + "has_materials": true, + "machine_extruder_trains": + { + "0": "makergear_m2_v3b" + } + }, + + "overrides": { + "machine_name": { "default_value": "MakerGear M2" }, + "machine_heated_bed": { "default_value": true }, + "machine_width": { "default_value": 200 }, + "machine_height": { "default_value": 190 }, + "machine_depth": { "default_value": 250 }, + "machine_center_is_zero": { "default_value": false }, + "material_diameter": { "default_value": 1.75 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "layer_height": { "default_value": 0.15 }, + "layer_height_0": { "default_value": 0.2 }, + "retraction_amount": { "default_value": 0.2 }, + "retraction_speed": { "default_value": 50 }, + "adhesion_type": { "default_value": "skirt" }, + "machine_head_with_fans_polygon": { "default_value": [[-16,10],[11,10],[11,-41],[-16,-41]] }, + "gantry_height": { "value": 24 }, + "machine_max_feedrate_z": { "default_value": 200 }, + "machine_max_feedrate_e": { "default_value": 100 }, + "machine_max_acceleration_z": { "default_value": 500 }, + "machine_acceleration": { "default_value": 1000 }, + "machine_max_jerk_xy": { "default_value": 10 }, + "machine_max_jerk_z": { "default_value": 0.2 }, + "machine_max_jerk_e": { "default_value": 2.5 }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_start_gcode": { + "default_value": "G21 ; use mms\nM140 S{material_bed_temperature_layer_0} ; heat bed\nM104 S{material_print_temperature_layer_0} ; heat extruder\nG90 ; abs coords\nM82 ; abs extruder\nM107 ; fan off\nG28 Z ; home Z\nG1 Z10 F1200 ; lift nozzle\nG28 X Y ; home XY\nG92 E0 ; zero extruder\nG1 X230 Y50 F9600 ; move nozzle to priming location\nM190 S{material_bed_temperature_layer_0} ; wait for bed\nM109 S{material_print_temperature_layer_0} ; wait for nozzle\nG1 E10 Z0.3 F225 ; prime and lower nozzle\nG1 X190 Z0.1 F1200 ; wipe nozzle\nG92 E0 ; zero extruder" + }, + "machine_end_gcode": { + "default_value": "G92 E0 ; zero extruder\nG1 E-2.0000 F2000 ; retract filament\nM104 S0 ; extruder off\nM140 S0 ; bed off\nM107 ; fan off\nG90 ; absolute coords\nG28 X0 ; home X\nM18 S0 ; disable steppers" + } + } +} diff --git a/resources/definitions/trimaker_nebula.def.json b/resources/definitions/trimaker_nebula.def.json index 46e57f96e5..dd8e3a565c 100644 --- a/resources/definitions/trimaker_nebula.def.json +++ b/resources/definitions/trimaker_nebula.def.json @@ -188,7 +188,7 @@ "adhesion_type": {"default_value": "skirt"}, "gantry_height": {"value": 2}, - "machine_start_gcode": {"default_value": ";Trimaker Nebula Start Code\n G21; Unidades en mm\n G90; Posicion absoluta\n M82; Extrusor en modo absoluto\n M107; Fan apagado\n G28 X Y Z; Enviamos a home a todos los ejes\n M900 K=0; Linear advance desactivado\n M104 S110; Precalentamos el extrusor hasta 110 grados\n M190 S{material_bed_temperature_layer_0}; Calentamos cama y esperamos\n M109 S{material_print_temperature}; Calentamos extrusor y esperamos\n G92 E0; E=0\n G1 F200 X0.5 Y0.5 Z0.300\n G1 F900 X0.5 Y51.5 E2.56436; Hacemos una linea para limpiar extrusor\n"}, + "machine_start_gcode": {"default_value": ";Trimaker Nebula Start Code\n G21; Unidades en mm\n G90; Posicion absoluta\n M82; Extrusor en modo absoluto\n M107; Fan apagado\n G28 X Y Z; Enviamos a home a todos los ejes\n M900 K=0; Linear advance desactivado\n M104 S110; Precalentamos el extrusor hasta 110 grados\n M190 S{material_bed_temperature_layer_0}; Calentamos cama y esperamos\n G29; Senso la cama\n M500\n G1 F5000 X0.5 Y0.5\n M109 S{material_print_temperature}; Calentamos extrusor y esperamos\n G92 E0; E=0\n G1 F200 X0.5 Y0.5 Z0.300\n G1 F900 X0.5 Y51.5 E2.56436; Hacemos una linea para limpiar extrusor\n"}, "machine_end_gcode": {"default_value": ";Trimaker Nebula End Code\n M107; Apagamos fan\n G90\n G92 E0\n G1 X0 Y200\n G91\n G1 Z5\n G92 E0\n M140 S0; Enfriamos\n M104 S0; Enfriamos\n M84\n G90\n M117 Impresion finalizada\n M300 S440 P700\n"}, "machine_heated_bed": {"default_value": true}, "material_diameter": {"default_value": 1.75}, diff --git a/resources/definitions/trimaker_nebula_plus.def.json b/resources/definitions/trimaker_nebula_plus.def.json new file mode 100644 index 0000000000..71fb729c0f --- /dev/null +++ b/resources/definitions/trimaker_nebula_plus.def.json @@ -0,0 +1,114 @@ +{
+ "version": 2,
+ "name": "Trimaker Nebula Plus",
+ "inherits": "fdmprinter",
+ "metadata": {
+ "visible": true,
+ "author": "Trimaker",
+ "manufacturer": "Trimaker",
+ "file_formats": "text/x-gcode",
+ "platform": "trimaker_nebula_platform.stl",
+
+ "has_machine_quality": true,
+ "preferred_quality_type": "normal",
+ "preferred_material": "redd_pla",
+
+ "platform_offset": [-117.5, -40, 147.5],
+ "has_materials": true,
+ "machine_extruder_trains": {"0": "trimaker_nebula_extruder"}
+ },
+
+ "overrides": {
+
+ "machine_name": {"default_value": "Trimaker Nebula"},
+ "machine_width": {"default_value": 230},
+ "machine_depth": {"default_value": 230},
+ "machine_height": {"default_value": 260},
+ "machine_heated_bed": {"default_value": true},
+ "machine_gcode_flavor": { "default_value": "Marlin (Volumetric)" },
+ "machine_max_feedrate_x": { "default_value": 300 },
+ "machine_max_feedrate_y": { "default_value": 300 },
+ "machine_max_feedrate_z": { "default_value": 40 },
+ "machine_acceleration": { "default_value": 3000 },
+ "machine_extruder_count": { "default_value": 1 },
+
+ "acceleration_enabled": { "value": "True" },
+ "acceleration_layer_0": { "value": "acceleration_topbottom" },
+ "acceleration_print": { "value": "4000" },
+ "acceleration_support": { "value": "math.ceil(acceleration_print * 2000 / 4000)" },
+ "acceleration_support_interface": { "value": "acceleration_topbottom" },
+ "acceleration_topbottom": { "value": "math.ceil(acceleration_print * 500 / 4000)" },
+ "acceleration_wall": { "value": "math.ceil(acceleration_print * 1000 / 4000)" },
+ "acceleration_wall_0": { "value": "math.ceil(acceleration_wall * 500 / 1000)" },
+
+
+ "layer_height": {"default_value": 0.2},
+ "material_flow": {"value": 100},
+ "xy_offset": {"default_value": 0},
+ "xy_offset_layer_0": {"value": -0.1},
+ "wall_thickness": {"value": "line_width * 3" },
+ "top_bottom_thickness": {"value": "layer_height * 6"},
+ "infill_sparse_density": {"default_value": 25},
+ "infill_sparse_thickness": {"value": "resolveOrValue('layer_height')"},
+ "default_material_bed_temperature": {"default_value": 60},
+ "default_material_print_temperature": {"default_value": 200},
+
+ "speed_print": {"default_value": 45},
+ "speed_travel": {"value": "speed_print if magic_spiralize else 100"},
+ "speed_wall_0": {"value": 35},
+ "speed_wall_x": {"value": 45},
+ "speed_layer_0": {"value": 20},
+
+ "infill_before_walls": { "value": false },
+ "infill_line_width": { "value": "round(line_width * 0.5 / 0.35, 2)" },
+ "infill_overlap": { "value": "0" },
+ "infill_pattern": { "value": "'grid'" },
+ "infill_wipe_dist": { "value": "0" },
+
+ "jerk_enabled": { "value": "True" },
+ "jerk_print": { "value": "20", "minimum_value_warning": 20 },
+ "jerk_infill": {"minimum_value_warning": 20 },
+ "jerk_wall": { "value": "jerk_print", "minimum_value_warning": 20 },
+ "jerk_wall_0": { "value": "jerk_wall", "minimum_value_warning": 20 },
+ "jerk_roofing": {"minimum_value_warning": 20 },
+ "jerk_topbottom": { "value": "jerk_print", "minimum_value_warning": 20 },
+ "jerk_support": { "value": "jerk_print", "minimum_value_warning": 20 },
+ "jerk_support_infill": {"minimum_value_warning": 20 },
+ "jerk_support_interface": { "value": "math.ceil(jerk_print * 5 / 20)"},
+ "jerk_travel": {"minimum_value_warning": 20 },
+ "jerk_layer_0": { "value": "jerk_topbottom", "minimum_value_warning": 20},
+ "jerk_print_layer_0": {"minimum_value_warning": 20 },
+ "jerk_travel_layer_0": {"minimum_value_warning": 20 },
+ "jerk_skirt_brim": {"minimum_value_warning": 20 },
+
+ "line_width": { "value": "machine_nozzle_size * 0.875" },
+
+ "retraction_enable": {"default_value": true},
+ "retraction_amount": {"default_value": 1},
+ "retraction_speed": {"default_value": 45},
+
+ "skin_monotonic" : { "value": true },
+ "skin_overlap": { "value": "10" },
+
+
+ "cool_fan_enabled": {"default_value": true},
+ "cool_fan_speed": {"value": "100.0 if cool_fan_enabled else 0.0"},
+
+ "support_enable": {"default_value": true},
+ "support_type": {"default_value": "everywhere"},
+ "support_angle": {"default_value": 50},
+ "support_pattern": {"default_value": "zigzag"},
+ "support_z_distance": {"default_value": 0.17},
+ "support_xy_distance": {"default_value": 0.7},
+
+ "adhesion_type": {"default_value": "skirt"},
+
+ "optimize_wall_printing_order": { "value": "True" },
+
+ "gantry_height": {"value": 2},
+ "machine_start_gcode": {"default_value": ";Trimaker Nebula Start Code\n G21; Unidades en mm\n G90; Posicion absoluta\n M82; Extrusor en modo absoluto\n M107; Fan apagado\n G28 X Y Z; Enviamos a home a todos los ejes\n M900 K=0; Linear advance desactivado\n M104 S110; Precalentamos el extrusor hasta 110 grados\n M190 S{material_bed_temperature_layer_0};\n G29; Senso la cama\n M500\n G1 F5000 X0.5 Y0.5\n Calentamos cama y esperamos\n M109 S{material_print_temperature}; Calentamos extrusor y esperamos\n G92 E0; E=0\n G1 F200 X0.5 Y0.5 Z0.300\n G1 F900 X0.5 Y51.5 E2.56436; Hacemos una linea para limpiar extrusor\n"},
+ "machine_end_gcode": {"default_value": ";Trimaker Nebula End Code\n M107; Apagamos fan\n G90\n G92 E0\n G1 X0 Y200\n G91\n G1 Z5\n G92 E0\n M140 S0; Enfriamos\n M104 S0; Enfriamos\n M84\n G90\n M117 Impresion finalizada\n M300 S440 P700\n"},
+ "material_diameter": {"default_value": 1.75},
+ "machine_center_is_zero": {"default_value": false}
+ }
+}
diff --git a/resources/extruders/elegoo_neptune2D_extruder_0.def.json b/resources/extruders/elegoo_neptune2D_extruder_0.def.json new file mode 100644 index 0000000000..3c4b0ad64b --- /dev/null +++ b/resources/extruders/elegoo_neptune2D_extruder_0.def.json @@ -0,0 +1,17 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "elegoo_neptune_2", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_extruder_start_code": {"default_value": "G1 F1200 E80\nG92 E0"}, + "machine_extruder_end_code": {"default_value": "G1 F1600 E-80\nG92 E0"} + } +}
\ No newline at end of file diff --git a/resources/extruders/elegoo_neptune2D_extruder_1.def.json b/resources/extruders/elegoo_neptune2D_extruder_1.def.json new file mode 100644 index 0000000000..7b633cf0d4 --- /dev/null +++ b/resources/extruders/elegoo_neptune2D_extruder_1.def.json @@ -0,0 +1,17 @@ +{ + "version": 2, + "name": "Extruder 2", + "inherits": "fdmextruder", + "metadata": { + "machine": "elegoo_neptune_2", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 1 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_extruder_start_code": {"default_value": "G1 F1200 E80\nG92 E0"}, + "machine_extruder_end_code": {"default_value": "G1 F1600 E-80\nG92 E0"} + } +}
\ No newline at end of file diff --git a/resources/extruders/elegoo_neptune2_extruder_0.def.json b/resources/extruders/elegoo_neptune2_extruder_0.def.json new file mode 100644 index 0000000000..c182885b1f --- /dev/null +++ b/resources/extruders/elegoo_neptune2_extruder_0.def.json @@ -0,0 +1,17 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "elegoo_neptune_2", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 }, + "machine_extruder_start_code": {"default_value": ""}, + "machine_extruder_end_code": {"default_value": ""} + } +} diff --git a/resources/extruders/makergear_m2_v3b.def.json b/resources/extruders/makergear_m2_v3b.def.json new file mode 100644 index 0000000000..c9ccebdb27 --- /dev/null +++ b/resources/extruders/makergear_m2_v3b.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "MakerGear M2 V3B", + "inherits": "fdmextruder", + "metadata": { + "machine": "makergear_m2", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +}
\ No newline at end of file diff --git a/resources/meshes/elegoo_neptune_2.stl b/resources/meshes/elegoo_neptune_2.stl Binary files differnew file mode 100644 index 0000000000..0b5d61df77 --- /dev/null +++ b/resources/meshes/elegoo_neptune_2.stl diff --git a/resources/meshes/makergear_m2_platform.3mf b/resources/meshes/makergear_m2_platform.3mf Binary files differnew file mode 100644 index 0000000000..d68e5367ec --- /dev/null +++ b/resources/meshes/makergear_m2_platform.3mf diff --git a/resources/qml/Dialogs/AboutDialog.qml b/resources/qml/Dialogs/AboutDialog.qml index 738c72f52d..6687da572d 100644 --- a/resources/qml/Dialogs/AboutDialog.qml +++ b/resources/qml/Dialogs/AboutDialog.qml @@ -131,37 +131,51 @@ UM.Dialog } Component.onCompleted: { + //Do NOT add dependencies of our dependencies here, nor CI-dependencies! + //Ultimaker's own projects and forks. projectsModel.append({ name: "Cura", description: catalog.i18nc("@label", "Graphical user interface"), license: "LGPLv3", url: "https://github.com/Ultimaker/Cura" }); projectsModel.append({ name: "Uranium", description: catalog.i18nc("@label", "Application framework"), license: "LGPLv3", url: "https://github.com/Ultimaker/Uranium" }); projectsModel.append({ name: "CuraEngine", description: catalog.i18nc("@label", "G-code generator"), license: "AGPLv3", url: "https://github.com/Ultimaker/CuraEngine" }); projectsModel.append({ name: "libArcus", description: catalog.i18nc("@label", "Interprocess communication library"), license: "LGPLv3", url: "https://github.com/Ultimaker/libArcus" }); + projectsModel.append({ name: "pynest2d", description: catalog.i18nc("@label", "Python bindings for libnest2d"), license: "LGPL", url: "https://github.com/Ultimaker/pynest2d" }); + projectsModel.append({ name: "libnest2d", description: catalog.i18nc("@label", "Polygon packing library, developed by Prusa Research"), license: "LGPL", url: "https://github.com/tamasmeszaros/libnest2d" }); + projectsModel.append({ name: "libSavitar", description: catalog.i18nc("@label", "Support library for handling 3MF files"), license: "LGPLv3", url: "https://github.com/ultimaker/libsavitar" }); + projectsModel.append({ name: "libCharon", description: catalog.i18nc("@label", "Support library for file metadata and streaming"), license: "LGPLv3", url: "https://github.com/ultimaker/libcharon" }); + //Direct dependencies of the front-end. projectsModel.append({ name: "Python", description: catalog.i18nc("@label", "Programming language"), license: "Python", url: "http://python.org/" }); projectsModel.append({ name: "Qt6", description: catalog.i18nc("@label", "GUI framework"), license: "LGPLv3", url: "https://www.qt.io/" }); projectsModel.append({ name: "PyQt", description: catalog.i18nc("@label", "GUI framework bindings"), license: "GPL", url: "https://riverbankcomputing.com/software/pyqt" }); projectsModel.append({ name: "SIP", description: catalog.i18nc("@label", "C/C++ Binding library"), license: "GPL", url: "https://riverbankcomputing.com/software/sip" }); projectsModel.append({ name: "Protobuf", description: catalog.i18nc("@label", "Data interchange format"), license: "BSD", url: "https://developers.google.com/protocol-buffers" }); - projectsModel.append({ name: "SciPy", description: catalog.i18nc("@label", "Support library for scientific computing"), license: "BSD-new", url: "https://www.scipy.org/" }); + projectsModel.append({ name: "Noto Sans", description: catalog.i18nc("@label", "Font"), license: "Apache 2.0", url: "https://www.google.com/get/noto/" }); + + //CuraEngine's dependencies. + projectsModel.append({ name: "Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" }); + projectsModel.append({ name: "RapidJSON", description: catalog.i18nc("@label", "JSON parser"), license: "MIT", url: "https://rapidjson.org/" }); + projectsModel.append({ name: "STB", description: catalog.i18nc("@label", "Utility functions, including an image loader"), license: "Public Domain", url: "https://github.com/nothings/stb" }); + projectsModel.append({ name: "Boost", description: catalog.i18nc("@label", "Utility library, including Voronoi generation"), license: "Boost", url: "https://www.boost.org/" }); + + //Python modules. + projectsModel.append({ name: "Certifi", description: catalog.i18nc("@label", "Root Certificates for validating SSL trustworthiness"), license: "MPL", url: "https://github.com/certifi/python-certifi" }); + projectsModel.append({ name: "Cryptography", description: catalog.i18nc("@label", "Root Certificates for validating SSL trustworthiness"), license: "APACHE and BSD", url: "https://cryptography.io/" }); + projectsModel.append({ name: "Future", description: catalog.i18nc("@label", "Compatibility between Python 2 and 3"), license: "MIT", url: "https://python-future.org/" }); + projectsModel.append({ name: "keyring", description: catalog.i18nc("@label", "Support library for system keyring access"), license: "MIT", url: "https://github.com/jaraco/keyring" }); projectsModel.append({ name: "NumPy", description: catalog.i18nc("@label", "Support library for faster math"), license: "BSD", url: "http://www.numpy.org/" }); projectsModel.append({ name: "NumPy-STL", description: catalog.i18nc("@label", "Support library for handling STL files"), license: "BSD", url: "https://github.com/WoLpH/numpy-stl" }); - projectsModel.append({ name: "Trimesh", description: catalog.i18nc("@label", "Support library for handling triangular meshes"), license: "MIT", url: "https://trimsh.org" }); - projectsModel.append({ name: "libSavitar", description: catalog.i18nc("@label", "Support library for handling 3MF files"), license: "LGPLv3", url: "https://github.com/ultimaker/libsavitar" }); - projectsModel.append({ name: "libCharon", description: catalog.i18nc("@label", "Support library for file metadata and streaming"), license: "LGPLv3", url: "https://github.com/ultimaker/libcharon" }); + projectsModel.append({ name: "PyClipper", description: catalog.i18nc("@label", "Python bindings for Clipper"), license: "MIT", url: "https://github.com/fonttools/pyclipper" }); projectsModel.append({ name: "PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" }); - projectsModel.append({ name: "python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" }); - projectsModel.append({ name: "Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" }); - projectsModel.append({ name: "Pyclipper", description: catalog.i18nc("@label", "Python bindings for Clipper"), license: "MIT", url: "https://github.com/fonttools/pyclipper" }); - projectsModel.append({ name: "mypy", description: catalog.i18nc("@Label", "Static type checker for Python"), license: "MIT", url: "http://mypy-lang.org/" }); - projectsModel.append({ name: "certifi", description: catalog.i18nc("@Label", "Root Certificates for validating SSL trustworthiness"), license: "MPL", url: "https://github.com/certifi/python-certifi" }); - projectsModel.append({ name: "cryptography", description: catalog.i18nc("@Label", "Root Certificates for validating SSL trustworthiness"), license: "APACHE and BSD", url: "https://cryptography.io/" }); + projectsModel.append({ name: "SciPy", description: catalog.i18nc("@label", "Support library for scientific computing"), license: "BSD-new", url: "https://www.scipy.org/" }); projectsModel.append({ name: "Sentry", description: catalog.i18nc("@Label", "Python Error tracking library"), license: "BSD 2-Clause 'Simplified'", url: "https://sentry.io/for/python/" }); - projectsModel.append({ name: "libnest2d", description: catalog.i18nc("@label", "Polygon packing library, developed by Prusa Research"), license: "LGPL", url: "https://github.com/tamasmeszaros/libnest2d" }); - projectsModel.append({ name: "pynest2d", description: catalog.i18nc("@label", "Python bindings for libnest2d"), license: "LGPL", url: "https://github.com/Ultimaker/pynest2d" }); - projectsModel.append({ name: "keyring", description: catalog.i18nc("@label", "Support library for system keyring access"), license: "MIT", url: "https://github.com/jaraco/keyring" }); - projectsModel.append({ name: "pywin32", description: catalog.i18nc("@label", "Python extensions for Microsoft Windows"), license: "PSF", url: "https://github.com/mhammond/pywin32" }); - projectsModel.append({ name: "Noto Sans", description: catalog.i18nc("@label", "Font"), license: "Apache 2.0", url: "https://www.google.com/get/noto/" }); - projectsModel.append({ name: "Font-Awesome-SVG-PNG", description: catalog.i18nc("@label", "SVG icons"), license: "SIL OFL 1.1", url: "https://github.com/encharm/Font-Awesome-SVG-PNG" }); + projectsModel.append({ name: "Trimesh", description: catalog.i18nc("@label", "Support library for handling triangular meshes"), license: "MIT", url: "https://trimsh.org" }); + projectsModel.append({ name: "python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" }); + + //Building/packaging. + projectsModel.append({ name: "CMake", description: catalog.i18nc("@label", "Universal build system configuration"), license: "BSD 3-Clause", url: "https://cmake.org/" }); + projectsModel.append({ name: "Conan", description: catalog.i18nc("@label", "Dependency and package manager"), license: "MIT", url: "https://conan.io/" }); + projectsModel.append({ name: "Pyinstaller", description: catalog.i18nc("@label", "Packaging Python-applications"), license: "GPLv2", url: "https://pyinstaller.org/" }); projectsModel.append({ name: "AppImageKit", description: catalog.i18nc("@label", "Linux cross-distribution application deployment"), license: "MIT", url: "https://github.com/AppImage/AppImageKit" }); + projectsModel.append({ name: "NSIS", description: catalog.i18nc("@label", "Generating Windows installers"), license: "Zlib", url: "https://nsis.sourceforge.io/" }); } } diff --git a/resources/quality/elegoo_neptune_2/elegoo_neptune_2_draft.inst.cfg b/resources/quality/elegoo_neptune_2/elegoo_neptune_2_draft.inst.cfg new file mode 100644 index 0000000000..8059065638 --- /dev/null +++ b/resources/quality/elegoo_neptune_2/elegoo_neptune_2_draft.inst.cfg @@ -0,0 +1,40 @@ +[general] +version = 4 +name = Draft +definition = elegoo_neptune_2 + +[metadata] +setting_version = 20 +type = quality +quality_type = draft +weight = -2 +global_quality = True + +[values] +acceleration_enabled = True +jerk_enabled = True +layer_height = 0.28 +layer_height_0 = 0.28 + +bottom_layers = =999999 if infill_sparse_density == 100 else math.ceil(round(bottom_thickness / resolveOrValue('layer_height'), 4)) +coasting_enable = False +infill_line_distance = =0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1)))) +infill_pattern = grid +infill_sparse_density = 10.0 +material_flow_layer_0 = 95 +retraction_amount = 6 +roofing_layer_count = 1 +skin_overlap = 15.0 +skirt_brim_speed = 25.0 +speed_layer_0 = 30.0 +speed_print = 60.0 +speed_travel_layer_0 = 125.0 +speed_wall_x = 50.0 +top_bottom_thickness = =layer_height_0+layer_height*3 +top_layers = =0 if infill_sparse_density == 100 else math.ceil(round(top_thickness / resolveOrValue('layer_height'), 4)) +travel_compensate_overlapping_walls_0_enabled = True +wall_0_material_flow = 95 +wall_0_wipe_dist = 0.4 +wall_thickness = 1.2 +z_seam_corner = z_seam_corner_weighted +z_seam_type = sharpest_corner
\ No newline at end of file diff --git a/resources/quality/elegoo_neptune_2/elegoo_neptune_2_fine.inst.cfg b/resources/quality/elegoo_neptune_2/elegoo_neptune_2_fine.inst.cfg new file mode 100644 index 0000000000..ea2ed7694e --- /dev/null +++ b/resources/quality/elegoo_neptune_2/elegoo_neptune_2_fine.inst.cfg @@ -0,0 +1,35 @@ +[general] +version = 4 +name = Fine +definition = elegoo_neptune_2 + +[metadata] +setting_version = 20 +type = quality +quality_type = fine +weight = 1 +global_quality = True + +[values] +acceleration_enabled = True +jerk_enabled = True +layer_height = 0.12 +layer_height_0 = 0.2 +support_enable = False + +coasting_enable = False +infill_line_distance = =0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1)))) +infill_pattern = grid +infill_sparse_density = 25 +material_flow_layer_0 = 95 +retraction_amount = 6 +skirt_brim_speed = 25.0 +speed_layer_0 = 25.0 +speed_travel_layer_0 = 125.0 +speed_wall_x = 50.0 +top_bottom_thickness = 1 +travel_compensate_overlapping_walls_0_enabled = True +wall_0_material_flow = 95 +wall_0_wipe_dist = 0.4 +wall_thickness = 1.2 +z_seam_type = sharpest_corner
\ No newline at end of file diff --git a/resources/quality/elegoo_neptune_2/elegoo_neptune_2_normal.inst.cfg b/resources/quality/elegoo_neptune_2/elegoo_neptune_2_normal.inst.cfg new file mode 100644 index 0000000000..c43de670d1 --- /dev/null +++ b/resources/quality/elegoo_neptune_2/elegoo_neptune_2_normal.inst.cfg @@ -0,0 +1,43 @@ +[general] +version = 4 +name = Normal +definition = elegoo_neptune_2 + +[metadata] +setting_version = 20 +type = quality +quality_type = normal +weight = 0 +global_quality = True + +[values] +acceleration_enabled = True +adhesion_type = skirt +jerk_enabled = True +layer_height = 0.2 +layer_height_0 = 0.2 +support_enable = False + +coasting_enable = False +infill_line_distance = =0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1)))) +infill_pattern = grid +infill_sparse_density = 25 +material_flow_layer_0 = 95 +retraction_amount = 6 +skin_angles = [90 ] +skin_line_width = =line_width +skin_monotonic = True +skin_outline_count = 0 +skin_overlap = 30.0 +skirt_brim_speed = 25.0 +speed_layer_0 = 25.0 +speed_travel_layer_0 = 125.0 +speed_wall_x = 50.0 +support_xy_distance = 0.2 +top_bottom_thickness = 1 +travel_compensate_overlapping_walls_0_enabled = True +wall_0_inset = 0.2 +wall_0_material_flow = 95 +wall_0_wipe_dist = 0.4 +wall_thickness = 1.2 +z_seam_type = sharpest_corner diff --git a/resources/quality/elegoo_neptune_2D/elegoo_neptune_2D_draft.inst.cfg b/resources/quality/elegoo_neptune_2D/elegoo_neptune_2D_draft.inst.cfg new file mode 100644 index 0000000000..16cb188d69 --- /dev/null +++ b/resources/quality/elegoo_neptune_2D/elegoo_neptune_2D_draft.inst.cfg @@ -0,0 +1,40 @@ +[general] +version = 4 +name = Draft +definition = elegoo_neptune_2D + +[metadata] +setting_version = 20 +type = quality +quality_type = draft +weight = -2 +global_quality = True + +[values] +acceleration_enabled = True +jerk_enabled = True +layer_height = 0.28 +layer_height_0 = 0.28 + +bottom_layers = =999999 if infill_sparse_density == 100 else math.ceil(round(bottom_thickness / resolveOrValue('layer_height'), 4)) +coasting_enable = False +infill_line_distance = =0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1)))) +infill_pattern = grid +infill_sparse_density = 10.0 +material_flow_layer_0 = 95 +retraction_amount = 6 +roofing_layer_count = 1 +skin_overlap = 15.0 +skirt_brim_speed = 25.0 +speed_layer_0 = 30.0 +speed_print = 60.0 +speed_travel_layer_0 = 125.0 +speed_wall_x = 50.0 +top_bottom_thickness = =layer_height_0+layer_height*3 +top_layers = =0 if infill_sparse_density == 100 else math.ceil(round(top_thickness / resolveOrValue('layer_height'), 4)) +travel_compensate_overlapping_walls_0_enabled = True +wall_0_material_flow = 95 +wall_0_wipe_dist = 0.4 +wall_thickness = 1.2 +z_seam_corner = z_seam_corner_weighted +z_seam_type = sharpest_corner
\ No newline at end of file diff --git a/resources/quality/elegoo_neptune_2D/elegoo_neptune_2D_fine.inst.cfg b/resources/quality/elegoo_neptune_2D/elegoo_neptune_2D_fine.inst.cfg new file mode 100644 index 0000000000..790cc7aced --- /dev/null +++ b/resources/quality/elegoo_neptune_2D/elegoo_neptune_2D_fine.inst.cfg @@ -0,0 +1,35 @@ +[general] +version = 4 +name = Fine +definition = elegoo_neptune_2D + +[metadata] +setting_version = 20 +type = quality +quality_type = fine +weight = 1 +global_quality = True + +[values] +acceleration_enabled = True +jerk_enabled = True +layer_height = 0.12 +layer_height_0 = 0.2 +support_enable = False + +coasting_enable = False +infill_line_distance = =0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1)))) +infill_pattern = grid +infill_sparse_density = 25 +material_flow_layer_0 = 95 +retraction_amount = 6 +skirt_brim_speed = 25.0 +speed_layer_0 = 25.0 +speed_travel_layer_0 = 125.0 +speed_wall_x = 50.0 +top_bottom_thickness = 1 +travel_compensate_overlapping_walls_0_enabled = True +wall_0_material_flow = 95 +wall_0_wipe_dist = 0.4 +wall_thickness = 1.2 +z_seam_type = sharpest_corner
\ No newline at end of file diff --git a/resources/quality/elegoo_neptune_2D/elegoo_neptune_2D_normal.inst.cfg b/resources/quality/elegoo_neptune_2D/elegoo_neptune_2D_normal.inst.cfg new file mode 100644 index 0000000000..8b09145c1b --- /dev/null +++ b/resources/quality/elegoo_neptune_2D/elegoo_neptune_2D_normal.inst.cfg @@ -0,0 +1,43 @@ +[general] +version = 4 +name = Normal +definition = elegoo_neptune_2D + +[metadata] +setting_version = 20 +type = quality +quality_type = normal +weight = 0 +global_quality = True + +[values] +acceleration_enabled = True +adhesion_type = skirt +jerk_enabled = True +layer_height = 0.2 +layer_height_0 = 0.2 +support_enable = False + +coasting_enable = False +infill_line_distance = =0 if infill_sparse_density == 0 else (infill_line_width * 100) / infill_sparse_density * (2 if infill_pattern == 'grid' else (3 if infill_pattern == 'triangles' or infill_pattern == 'trihexagon' or infill_pattern == 'cubic' or infill_pattern == 'cubicsubdiv' else (2 if infill_pattern == 'tetrahedral' or infill_pattern == 'quarter_cubic' else (1 if infill_pattern == 'cross' or infill_pattern == 'cross_3d' else 1)))) +infill_pattern = grid +infill_sparse_density = 25 +material_flow_layer_0 = 95 +retraction_amount = 6 +skin_angles = [90 ] +skin_line_width = =line_width +skin_monotonic = True +skin_outline_count = 0 +skin_overlap = 30.0 +skirt_brim_speed = 25.0 +speed_layer_0 = 25.0 +speed_travel_layer_0 = 125.0 +speed_wall_x = 50.0 +support_xy_distance = 0.2 +top_bottom_thickness = 1 +travel_compensate_overlapping_walls_0_enabled = True +wall_0_inset = 0.2 +wall_0_material_flow = 95 +wall_0_wipe_dist = 0.4 +wall_thickness = 1.2 +z_seam_type = sharpest_corner |