diff --git a/resources/definitions/cartesio.def.json b/resources/definitions/cartesio.def.json new file mode 100644 index 0000000000..ba32a2bf9c --- /dev/null +++ b/resources/definitions/cartesio.def.json @@ -0,0 +1,48 @@ +{ + "id": "cartesio", + "name": "Cartesio", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Scheepers", + "manufacturer": "Cartesio bv", + "category": "Other", + "file_formats": "text/x-gcode", + "has_materials": true, + "has_machine_materials": true, + "has_variants": true, + "variants_name": "Nozzle size", + "machine_extruder_trains": + { + "0": "cartesio_extruder_0", + "1": "cartesio_extruder_1", + "2": "cartesio_extruder_2", + "3": "cartesio_extruder_3" + }, + "platform": "cartesio_platform.stl", + "platform_offset": [ -120, -1.5, 130], + "first_start_actions": ["MachineSettingsAction"], + "supported_actions": ["MachineSettingsAction"] + }, + + "overrides": { + "machine_extruder_count": { "default_value": 4 }, + "machine_heated_bed": { "default_value": true }, + "machine_center_is_zero": { "default_value": false }, + "machine_height": { "default_value": 400 }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_depth": { "default_value": 270 }, + "machine_width": { "default_value": 430 }, + "machine_name": { "default_value": "Cartesio" }, + "machine_start_gcode": { + "default_value": "M92 E162\nG21\nG90\nM42 S255 P13;chamber lights\nM42 S255 P12;fume extraction\nM140 S{material_bed_temperature}\n\nM117 Homing Y ......\nG28 Y\nM117 Homing X ......\nG28 X\nM117 Homing Z ......\nG28 Z F100\nG1 Z10 F600\nG1 X70 Y20 F9000;go to wipe point\n\nM190 S{material_bed_temperature}\nM104 S120 T1\nM109 S{material_print_temperature} T0\nM104 S21 T1\n\nM117 purging nozzle....\n\nT0\nG92 E0;set E\nG1 E10 F100\nG92 E0\nG1 E-{retraction_amount} F600\nG92 E0\n\nM117 wiping nozzle....\n\nG1 X1 Y24 F3000\nG1 X70 F9000\n\nM117 Printing .....\n\nG1 E1 F100\nG92 E-1\n" + }, + "machine_end_gcode": { + "default_value": "; -- END GCODE --\nM106 S255\nM140 S5\nM104 S5 T0\nM104 S5 T1\nG1 X20.0 Y260.0 F6000\nG4 S7\nM84\nG4 S90\nM107\nM42 P12 S0\nM42 P13 S0\nM84\n; -- end of END GCODE --" + }, + "machine_nozzle_heat_up_speed": {"default_value": 20}, + "machine_nozzle_cool_down_speed": {"default_value": 20}, + "machine_min_cool_heat_time_window": {"default_value": 5} + } +} diff --git a/resources/extruders/cartesio_extruder_0.def.json b/resources/extruders/cartesio_extruder_0.def.json new file mode 100644 index 0000000000..8f71c68c43 --- /dev/null +++ b/resources/extruders/cartesio_extruder_0.def.json @@ -0,0 +1,25 @@ +{ + "id": "cartesio_extruder_0", + "version": 2, + "name": "Extruder 0", + "inherits": "fdmextruder", + "metadata": { + "machine": "cartesio", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "3" + }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, + "machine_extruder_start_code": { + "default_value": "M117 Heating nozzles....\nM104 S190 T0\nG1 X70 Y20 F9000\nM109 S270 T0 ;wait for nozzle to heat up\nT0\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n" + }, + "machine_extruder_end_code": { + "default_value": "\nM104 S160 T0\n;end extruder_0\nM117 temp is {material_print_temp}" + } + } +} diff --git a/resources/extruders/cartesio_extruder_1.def.json b/resources/extruders/cartesio_extruder_1.def.json new file mode 100644 index 0000000000..ee09b6d363 --- /dev/null +++ b/resources/extruders/cartesio_extruder_1.def.json @@ -0,0 +1,25 @@ +{ + "id": "cartesio_extruder_1", + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "cartesio", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "3" + }, + "machine_nozzle_offset_x": { "default_value": 24.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, + "machine_extruder_start_code": { + "default_value": "\n;start extruder_1\nM117 Heating nozzles....\nM104 S190 T1\nG1 X70 Y20 F9000\nM109 S190 T1 ;wait for nozzle to heat up\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\n\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n" + }, + "machine_extruder_end_code": { + "default_value": "\nM104 T0 S120\n;end extruder_1\n" + } + } +} diff --git a/resources/extruders/cartesio_extruder_2.def.json b/resources/extruders/cartesio_extruder_2.def.json new file mode 100644 index 0000000000..9d4bfd8c42 --- /dev/null +++ b/resources/extruders/cartesio_extruder_2.def.json @@ -0,0 +1,25 @@ +{ + "id": "cartesio_extruder_2", + "version": 2, + "name": "Extruder 2", + "inherits": "fdmextruder", + "metadata": { + "machine": "cartesio", + "position": "2" + }, + + "overrides": { + "extruder_nr": { + "default_value": 2, + "maximum_value": "3" + }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 60.0 }, + "machine_extruder_start_code": { + "default_value": "\n;start extruder_2\nM117 Heating nozzles....\nM104 S190 T2\nG1 X70 Y20 F9000\nM109 S190 T2\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\n\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n" + }, + "machine_extruder_end_code": { + "default_value": "\nM104 T2 S120\n;end extruder_2\n" + } + } +} diff --git a/resources/extruders/cartesio_extruder_3.def.json b/resources/extruders/cartesio_extruder_3.def.json new file mode 100644 index 0000000000..cdcb392876 --- /dev/null +++ b/resources/extruders/cartesio_extruder_3.def.json @@ -0,0 +1,25 @@ +{ + "id": "cartesio_extruder_3", + "version": 2, + "name": "Extruder 3", + "inherits": "fdmextruder", + "metadata": { + "machine": "cartesio", + "position": "3" + }, + + "overrides": { + "extruder_nr": { + "default_value": 3, + "maximum_value": "3" + }, + "machine_nozzle_offset_x": { "default_value": 24.0 }, + "machine_nozzle_offset_y": { "default_value": 60.0 }, + "machine_extruder_start_code": { + "default_value": "\n;start extruder_3\nM117 Heating nozzles....\nM104 S190 T3\nG1 X70 Y20 F9000\nM109 S190 T3\n\nM117 purging nozzle\nG92 E0\nG1 E6 F90\nG92 E0\nG1 E-2 F300\nG92 E0\n\nM117 wiping nozzle\nG1 X1 Y28 F3000\nG1 X70 F6000\n\nM117 printing\n" + }, + "machine_extruder_end_code": { + "default_value": "\nM104 T3 S120\n;end extruder_3\n" + } + } +} diff --git a/resources/meshes/cartesio_platform.stl b/resources/meshes/cartesio_platform.stl new file mode 100644 index 0000000000..65f0204881 Binary files /dev/null and b/resources/meshes/cartesio_platform.stl differ diff --git a/resources/variants/cartesio_0.25.inst.cfg b/resources/variants/cartesio_0.25.inst.cfg new file mode 100644 index 0000000000..455fd7ee56 --- /dev/null +++ b/resources/variants/cartesio_0.25.inst.cfg @@ -0,0 +1,59 @@ +[general] +name = 0.25 mm +version = 2 +definition = cartesio + +[metadata] +author = Cartesio +type = variant + +[values] +machine_nozzle_size = 0.25 +machine_nozzle_tip_outer_diameter = 1.05 + +wall_0_inset = -0.05 +fill_perimeter_gaps = nowhere +travel_compensate_overlapping_walls_enabled = + +infill_sparse_density = 25 +infill_overlap = -50 +skin_overlap = -40 + +material_print_temperature_layer_0 = =round(material_print_temperature) +material_initial_print_temperature = =round(material_print_temperature) +material_diameter = 1.75 +retraction_amount = 1 +retraction_speed = 40 +retraction_prime_speed = =round(retraction_speed / 4) +retraction_min_travel = =round(line_width * 10) +switch_extruder_retraction_amount = 2 +switch_extruder_retraction_speeds = 40 +switch_extruder_prime_speed = =round(switch_extruder_retraction_speeds / 4) + +speed_print = =50 if layer_height < 0.4 else 30 +speed_infill = =round(speed_print) +speed_layer_0 = =round(speed_print / 5 * 4) +speed_wall = =round(speed_print / 2) +speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_topbottom = =round(speed_print / 5 * 4) +speed_slowdown_layers = 1 +speed_travel = =round(speed_print if magic_spiralize else 150) +speed_travel_layer_0 = =round(speed_travel) +speed_support_interface = =round(speed_topbottom) + +retraction_combing = off +retraction_hop_enabled = true + +support_z_distance = 0 +support_xy_distance = 0.5 +support_join_distance = 10 +support_interface_enable = true + +adhesion_type = skirt +skirt_gap = 0.5 +skirt_brim_minimal_length = 50 + +coasting_enable = true +coasting_volume = 0.1 +coasting_min_volume = 0.17 +coasting_speed = 90 diff --git a/resources/variants/cartesio_0.4.inst.cfg b/resources/variants/cartesio_0.4.inst.cfg new file mode 100644 index 0000000000..44a09c706f --- /dev/null +++ b/resources/variants/cartesio_0.4.inst.cfg @@ -0,0 +1,60 @@ + +[general] +name = 0.4 mm +version = 2 +definition = cartesio + +[metadata] +author = Scheepers +type = variant + +[values] +machine_nozzle_size = 0.4 +machine_nozzle_tip_outer_diameter = 0.8 + +wall_0_inset = -0.05 +fill_perimeter_gaps = nowhere +travel_compensate_overlapping_walls_enabled = + +infill_sparse_density = 25 +infill_overlap = -50 +skin_overlap = -40 + + +material_print_temperature_layer_0 = =round(material_print_temperature) +material_initial_print_temperature = =round(material_print_temperature) +material_diameter = 1.75 +retraction_amount = 1 +retraction_speed = 40 +retraction_prime_speed = =round(retraction_speed /4) +retraction_min_travel = =round(line_width * 10) +switch_extruder_retraction_amount = 2 +switch_extruder_retraction_speeds = 40 +switch_extruder_prime_speed = =round(switch_extruder_retraction_speeds /4) + +speed_print = 50 +speed_layer_0 = =round(speed_print / 5 * 4) +speed_wall = =round(speed_print / 2, 1) +speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_topbottom = =round(speed_print / 5 * 4) +speed_slowdown_layers = 1 +speed_travel = =round(speed_print if magic_spiralize else 150) +speed_travel_layer_0 = =round(speed_travel) +speed_support_interface = =round(speed_topbottom) + +retraction_combing = off +retraction_hop_enabled = true + +support_z_distance = 0 +support_xy_distance = 0.5 +support_join_distance = 10 +support_interface_enable = true + +adhesion_type = skirt +skirt_gap = 0.5 +skirt_brim_minimal_length = 50 + +coasting_enable = true +coasting_volume = 0.1 +coasting_min_volume = 0.17 +coasting_speed = 90 diff --git a/resources/variants/cartesio_0.8.inst.cfg b/resources/variants/cartesio_0.8.inst.cfg new file mode 100644 index 0000000000..772ede33fb --- /dev/null +++ b/resources/variants/cartesio_0.8.inst.cfg @@ -0,0 +1,59 @@ +[general] +name = 0.8 mm +version = 2 +definition = cartesio + +[metadata] +author = Cartesio +type = variant + +[values] +machine_nozzle_size = 0.8 +machine_nozzle_tip_outer_diameter = 1.05 + +wall_0_inset = -0.05 +fill_perimeter_gaps = nowhere +travel_compensate_overlapping_walls_enabled = + +infill_sparse_density = 25 +infill_overlap = -50 +skin_overlap = -40 + +material_print_temperature_layer_0 = =round(material_print_temperature) +material_initial_print_temperature = =round(material_print_temperature) +material_diameter = 1.75 +retraction_amount = 2 +retraction_speed = 40 +retraction_prime_speed = =round(retraction_speed / 4) +retraction_min_travel = =round(line_width * 10) +switch_extruder_retraction_amount = 2 +switch_extruder_retraction_speeds = 40 +switch_extruder_prime_speed = =round(switch_extruder_retraction_speeds / 4) + +speed_print = =50 if layer_height < 0.4 else 30 +speed_infill = =round(speed_print) +speed_layer_0 = =round(speed_print / 5 * 4) +speed_wall = =round(speed_print / 2) +speed_wall_0 = =10 if speed_wall < 11 else (speed_print / 5 *3) +speed_topbottom = =round(speed_print / 5 * 4) +speed_slowdown_layers = 1 +speed_travel = =round(speed_print if magic_spiralize else 150) +speed_travel_layer_0 = =round(speed_travel) +speed_support_interface = =round(speed_topbottom) + +retraction_combing = off +retraction_hop_enabled = true + +support_z_distance = 0 +support_xy_distance = 0.5 +support_join_distance = 10 +support_interface_enable = true + +adhesion_type = skirt +skirt_gap = 0.5 +skirt_brim_minimal_length = 50 + +coasting_enable = true +coasting_volume = 0.1 +coasting_min_volume = 0.17 +coasting_speed = 90