diff --git a/cura/Settings/CuraStackBuilder.py b/cura/Settings/CuraStackBuilder.py index 95aa364a2e..c98c63f529 100644 --- a/cura/Settings/CuraStackBuilder.py +++ b/cura/Settings/CuraStackBuilder.py @@ -145,7 +145,6 @@ class CuraStackBuilder: quality_container = application.empty_quality_container ) new_extruder.setNextStack(global_stack) - global_stack.addExtruder(new_extruder) registry.addContainer(new_extruder) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index 2514e17075..9089ba96e9 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -374,8 +374,6 @@ class ExtruderManager(QObject): extruder_definition = container_registry.findDefinitionContainers(id = expected_extruder_definition_0_id)[0] extruder_stack_0.definition = extruder_definition - extruder_stack_0.setNextStack(global_stack) - ## Get all extruder values for a certain setting. # # This is exposed to qml for display purposes diff --git a/plugins/PostProcessingPlugin/scripts/FilamentChange.py b/plugins/PostProcessingPlugin/scripts/FilamentChange.py index 0fa52de4f1..ed0f6eb174 100644 --- a/plugins/PostProcessingPlugin/scripts/FilamentChange.py +++ b/plugins/PostProcessingPlugin/scripts/FilamentChange.py @@ -1,5 +1,6 @@ -# This PostProcessing Plugin script is released -# under the terms of the AGPLv3 or higher +# Copyright (c) 2018 Ultimaker B.V. +# The PostProcessingPlugin is released under the terms of the AGPLv3 or higher. + from typing import Optional, Tuple from UM.Logger import Logger @@ -54,17 +55,17 @@ class FilamentChange(Script): layer_nums = self.getSettingValueByKey("layer_number") initial_retract = self.getSettingValueByKey("initial_retract") later_retract = self.getSettingValueByKey("later_retract") - + color_change = "M600" - + if initial_retract is not None and initial_retract > 0.: - color_change = color_change + (" E-%.2f" % initial_retract) - + color_change = color_change + (" E%.2f" % initial_retract) + if later_retract is not None and later_retract > 0.: - color_change = color_change + (" L-%.2f" % later_retract) - + color_change = color_change + (" L%.2f" % later_retract) + color_change = color_change + " ; Generated by FilamentChange plugin" - + layer_targets = layer_nums.split(",") if len(layer_targets) > 0: for layer_num in layer_targets: diff --git a/resources/definitions/anycubic_4max.def.json b/resources/definitions/anycubic_4max.def.json new file mode 100644 index 0000000000..c14ce1ac31 --- /dev/null +++ b/resources/definitions/anycubic_4max.def.json @@ -0,0 +1,88 @@ +{ + "version": 2, + "name": "Anycubic 4Max", + "inherits": "fdmprinter", + "metadata": + { + "visible": true, + "author": "Jason Scurtu", + "manufacturer": "Anycubic", + "category": "Other", + "file_formats": "text/x-gcode", + "icon": "icon_ultimaker2", + "platform": "anycubic_4max_platform.stl", + "has_materials": true, + "quality_definition": "anycubic_4max", + "has_machine_quality": true, + "preferred_quality_type": "normal", + "machine_extruder_trains": + { + "0": "anycubic_4max_extruder_0" + } + }, + + "overrides": + { + "machine_name": { "default_value": "Anycubic 4Max" }, + "machine_heated_bed": { "default_value": true }, + "machine_width": { "default_value": 220 }, + "machine_height": {"default_value": 300 }, + "machine_depth": { "default_value": 220 }, + "machine_center_is_zero": { "default_value": false }, + "machine_max_feedrate_x": { "default_value": 300 }, + "machine_max_feedrate_y": { "default_value": 300 }, + "machine_max_feedrate_z": { "default_value": 10 }, + "machine_acceleration": { "default_value": 1500 }, + "machine_max_acceleration_x": { "default_value": 1500 }, + "machine_max_acceleration_y": { "default_value": 1500 }, + "machine_max_acceleration_z": { "default_value": 100 }, + "machine_max_jerk_xy": { "default_value": 11.0 }, + "machine_max_jerk_z": { "default_value": 0.4 }, + "machine_max_jerk_e": { "default_value": 11.0 }, + + "jerk_enabled": { "value": "True" }, + "jerk_layer_0": { "value": "jerk_topbottom" }, + "jerk_prime_tower": { "value": "math.ceil(jerk_print * 15 / 25)" }, + "jerk_print": { "value": "11" }, + "jerk_support": { "value": "math.ceil(jerk_print * 15 / 25)" }, + "jerk_support_interface": { "value": "jerk_topbottom" }, + "jerk_topbottom": { "value": "math.ceil(jerk_print * 5 / 25)" }, + "jerk_wall": { "value": "math.ceil(jerk_print * 10 / 25)" }, + "jerk_wall_0": { "value": "math.ceil(jerk_wall * 5 / 10)" }, + + "gantry_height": { "default_value": 25.0 }, + "skin_overlap": { "value": "10" }, + + "acceleration_enabled": { "value": "True" }, + "acceleration_layer_0": { "value": "acceleration_topbottom" }, + "acceleration_prime_tower": { "value": "math.ceil(acceleration_print * 2000 / 4000)" }, + "acceleration_print": { "value": "900" }, + "acceleration_support": { "value": "math.ceil(acceleration_print * 2000 / 4000)" }, + "acceleration_support_interface": { "value": "acceleration_topbottom" }, + "acceleration_topbottom": { "value": "math.ceil(acceleration_print * 1000 / 3000)" }, + "acceleration_travel": { "value": "acceleration_print" }, + "acceleration_wall": { "value": "math.ceil(acceleration_print * 1000 / 3000)" }, + "acceleration_wall_0": { "value": "math.ceil(acceleration_wall * 1000 / 1000)" }, + + "speed_layer_0": { "value": "20" }, + "speed_print": { "value": "40" }, + "speed_support": { "value": "speed_wall_0" }, + "speed_support_interface": { "value": "speed_topbottom" }, + "speed_topbottom": { "value": "math.ceil(speed_print * 20 / 35)" }, + "speed_travel": { "value": "60" }, + "speed_wall": { "value": "math.ceil(speed_print * 30 / 35)" }, + "speed_wall_0": { "value": "math.ceil(speed_wall * 20 / 30)" }, + "speed_wall_x": { "value": "speed_wall" }, + + "infill_pattern": {"value": "'zigzag'" }, + "infill_before_walls": {"value": false }, + + "adhesion_type": { "default_value": "skirt" }, + "material_bed_temperature": { "maximum_value": "150" }, + "material_bed_temperature_layer_0": { "maximum_value": "150" }, + + "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 Z15.0 F{speed_travel} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{speed_travel}\nM117 Printing...\nG5"}, + "machine_end_gcode":{"default_value": "M104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors\nM107\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle\nto release some of the pressure\nG1 Z+0.5 E-5 ;X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\nG28 X0 ;Y0 ;move X/Y to min endstops\nso the head is out of the way\nG1 Y180 F2000\nM84 ;steppers off\nG90\nM300 P300 S4000"} + } +} diff --git a/resources/definitions/tizyx_k25.def.json b/resources/definitions/tizyx_k25.def.json index 94a20b371e..d6a5ff5ecd 100644 --- a/resources/definitions/tizyx_k25.def.json +++ b/resources/definitions/tizyx_k25.def.json @@ -14,6 +14,8 @@ "preferred_material": "tizyx_pla", "has_machine_quality": true, "has_materials": true, + "has_variants": true, + "preferred_variant_name": "0.4 mm", "machine_extruder_trains": { "0": "tizyx_k25_extruder_0" diff --git a/resources/extruders/anycubic_4max_extruder_0.def.json b/resources/extruders/anycubic_4max_extruder_0.def.json new file mode 100644 index 0000000000..5c2ab8d479 --- /dev/null +++ b/resources/extruders/anycubic_4max_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "id": "anycubic_4max_extruder_0", + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "anycubic_4max", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +} diff --git a/resources/meshes/anycubic_4max_platform.stl b/resources/meshes/anycubic_4max_platform.stl new file mode 100644 index 0000000000..cc3651b9f3 Binary files /dev/null and b/resources/meshes/anycubic_4max_platform.stl differ diff --git a/resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg new file mode 100644 index 0000000000..f5baa55029 --- /dev/null +++ b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_draft.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_abs + +[values] +cool_fan_enabled = False +adhesion_type = brim diff --git a/resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg new file mode 100644 index 0000000000..bd613c6aad --- /dev/null +++ b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_high.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_abs + +[values] +cool_fan_enabled = False +adhesion_type = brim diff --git a/resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg new file mode 100644 index 0000000000..7cff1db4d2 --- /dev/null +++ b/resources/quality/anycubic_4max/abs/anycubic_4max_abs_normal.inst.cfg @@ -0,0 +1,16 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_abs + +[values] +cool_fan_enabled = False +adhesion_type = brim + diff --git a/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg new file mode 100644 index 0000000000..c0114e3d6c --- /dev/null +++ b/resources/quality/anycubic_4max/anycubic_4max_draft.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +global_quality = True + +[values] +layer_height = 0.3 + diff --git a/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg new file mode 100644 index 0000000000..4a0993412a --- /dev/null +++ b/resources/quality/anycubic_4max/anycubic_4max_high.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +global_quality = True + +[values] +layer_height = 0.15 + diff --git a/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg b/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg new file mode 100644 index 0000000000..eeb1d699e4 --- /dev/null +++ b/resources/quality/anycubic_4max/anycubic_4max_normal.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +global_quality = True + +[values] +layer_height = 0.2 diff --git a/resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg new file mode 100644 index 0000000000..3cd0226bd4 --- /dev/null +++ b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_draft.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_hips + +[values] + diff --git a/resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg new file mode 100644 index 0000000000..ff5c6bee2f --- /dev/null +++ b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_high.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_hips + +[values] + diff --git a/resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg new file mode 100644 index 0000000000..c4701ae246 --- /dev/null +++ b/resources/quality/anycubic_4max/hips/anycubic_4max_hips_normal.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_hips + +[values] + diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg new file mode 100644 index 0000000000..5e0c3e204a --- /dev/null +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_draft.inst.cfg @@ -0,0 +1,18 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_petg + +[values] +material_print_temperature = =default_material_print_temperature + 35 +material_bed_temperature = 70 +cool_fan_enabled = False + +speed_print = 30 diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg new file mode 100644 index 0000000000..57a89c4ec2 --- /dev/null +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_high.inst.cfg @@ -0,0 +1,18 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_petg + +[values] +material_print_temperature = =default_material_print_temperature + 35 +material_bed_temperature = 70 +cool_fan_enabled = False + +speed_print = 30 diff --git a/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg new file mode 100644 index 0000000000..14a4607ceb --- /dev/null +++ b/resources/quality/anycubic_4max/petg/anycubic_4max_petg_normal.inst.cfg @@ -0,0 +1,18 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_petg + +[values] +material_print_temperature = =default_material_print_temperature + 35 +material_bed_temperature = 70 +cool_fan_enabled = False + +speed_print = 30 diff --git a/resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg new file mode 100644 index 0000000000..eae9e3b5ef --- /dev/null +++ b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_draft.inst.cfg @@ -0,0 +1,15 @@ +[general] +version = 4 +name = Draft +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = draft +weight = 0 +material = generic_pla + +[values] + + diff --git a/resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg new file mode 100644 index 0000000000..c856fc66a7 --- /dev/null +++ b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_high.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = High +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = high +weight = 2 +material = generic_pla + +[values] + diff --git a/resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg new file mode 100644 index 0000000000..be33bfe53a --- /dev/null +++ b/resources/quality/anycubic_4max/pla/anycubic_4max_pla_normal.inst.cfg @@ -0,0 +1,14 @@ +[general] +version = 4 +name = Normal +definition = anycubic_4max + +[metadata] +setting_version = 5 +type = quality +quality_type = normal +weight = 1 +material = generic_pla + +[values] + diff --git a/resources/quality/tizyx_k25/tizyx_k25_normal.inst.cfg b/resources/quality/tizyx_k25/tizyx_k25_normal.inst.cfg index 8c6349d27a..8b066f139f 100644 --- a/resources/quality/tizyx_k25/tizyx_k25_normal.inst.cfg +++ b/resources/quality/tizyx_k25/tizyx_k25_normal.inst.cfg @@ -17,8 +17,6 @@ cool_fan_speed_0 = 100 fill_outline_gaps = True infill_angles = [0,90 ] infill_sparse_density = 15 -layer_height = 0.2 -layer_height_0 = 0.25 material_diameter = 1.75 retraction_amount = 2.5 retraction_min_travel = 2 diff --git a/resources/variants/tizyx_k25_0.2.inst.cfg b/resources/variants/tizyx_k25_0.2.inst.cfg new file mode 100644 index 0000000000..cd9f1bcbd1 --- /dev/null +++ b/resources/variants/tizyx_k25_0.2.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.2 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 5 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.2 diff --git a/resources/variants/tizyx_k25_0.3.inst.cfg b/resources/variants/tizyx_k25_0.3.inst.cfg new file mode 100644 index 0000000000..8b34d23bf6 --- /dev/null +++ b/resources/variants/tizyx_k25_0.3.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.3 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 5 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.3 diff --git a/resources/variants/tizyx_k25_0.4.inst.cfg b/resources/variants/tizyx_k25_0.4.inst.cfg new file mode 100644 index 0000000000..c147eb0ad0 --- /dev/null +++ b/resources/variants/tizyx_k25_0.4.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.4 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 5 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.4 diff --git a/resources/variants/tizyx_k25_0.5.inst.cfg b/resources/variants/tizyx_k25_0.5.inst.cfg new file mode 100644 index 0000000000..14102fb2c7 --- /dev/null +++ b/resources/variants/tizyx_k25_0.5.inst.cfg @@ -0,0 +1,13 @@ +[general] +name = 0.5 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 5 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.5 + diff --git a/resources/variants/tizyx_k25_0.6.inst.cfg b/resources/variants/tizyx_k25_0.6.inst.cfg new file mode 100644 index 0000000000..00f69f71f4 --- /dev/null +++ b/resources/variants/tizyx_k25_0.6.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.6 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 5 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.6 diff --git a/resources/variants/tizyx_k25_0.8.inst.cfg b/resources/variants/tizyx_k25_0.8.inst.cfg new file mode 100644 index 0000000000..c80f5e70d2 --- /dev/null +++ b/resources/variants/tizyx_k25_0.8.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 0.8 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 5 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 0.8 diff --git a/resources/variants/tizyx_k25_1.0.inst.cfg b/resources/variants/tizyx_k25_1.0.inst.cfg new file mode 100644 index 0000000000..ce8593b1e8 --- /dev/null +++ b/resources/variants/tizyx_k25_1.0.inst.cfg @@ -0,0 +1,12 @@ +[general] +name = 1.0 mm +version = 4 +definition = tizyx_k25 + +[metadata] +setting_version = 5 +type = variant +hardware_type = nozzle + +[values] +machine_nozzle_size = 1.0