diff --git a/resources/definitions/m180.def.json b/resources/definitions/malyan_m180.def.json similarity index 98% rename from resources/definitions/m180.def.json rename to resources/definitions/malyan_m180.def.json index 71aa729b7e..5e0a6038dd 100644 --- a/resources/definitions/m180.def.json +++ b/resources/definitions/malyan_m180.def.json @@ -1,4 +1,5 @@ { + "id": "malyan_m180", "version": 2, "name": "Malyan M180", "inherits": "fdmprinter", diff --git a/resources/definitions/malyan_m200.def.json b/resources/definitions/malyan_m200.def.json new file mode 100644 index 0000000000..f19980a3b7 --- /dev/null +++ b/resources/definitions/malyan_m200.def.json @@ -0,0 +1,90 @@ +{ + "id": "malyan_m200", + "version": 2, + "name": "Malyan M200", + "inherits": "fdmprinter", + "metadata": { + "author": "Brian Corbino", + "manufacturer": "Malyan", + "category": "Other", + "file_formats": "text/x-gcode", + "platform": "malyan_m200_platform.stl", + "has_variants": true, + "has_variant_materials": false, + "has_materials": true, + "has_machine_materials": false, + "has_machine_quality": true, + "preferred_variant": "*0.4*", + "preferred_quality": "*0.175*", + "variants_name": "Nozzle size", + "supports_usb_connection": true, + "visible": true, + "first_start_actions": ["MachineSettingsAction"], + "supported_actions": ["MachineSettingsAction"] + }, + + "overrides": { + "machine_name": { "default_value": "Malyan M200" }, + "speed_print": { "default_value": 50 }, + "speed_wall_0": { "value": "round(speed_print * 0.75, 2)" }, + "speed_wall_x": { "value": "speed_print" }, + "speed_support": { "value": "speed_wall_0" }, + "speed_layer_0": { "value": "round(speed_print / 2.0, 2)" }, + "speed_travel": { "default_value": 50 }, + "speed_travel_layer_0": { "default_value": 40 }, + "speed_infill": { "value": "speed_print" }, + "speed_topbottom": {"value": "speed_print / 2"}, + + "layer_height": { "minimum_value": "0.04375", "maximum_value": "machine_nozzle_size * 0.875", "maximum_value_warning": "machine_nozzle_size * 0.48125 + 0.0875", "default_value": 0.13125 }, + "line_width": { "value": "round(machine_nozzle_size * 0.875, 2)" }, + + "material_print_temperature": { "minimum_value": "0" }, + "material_print_temperature_layer_0": { "value": "material_print_temperature + 5" }, + "material_bed_temperature": { "minimum_value": "0" }, + "material_bed_temperature_layer_0": { "value": "material_bed_temperature + 5" }, + "material_standby_temperature": { "minimum_value": "0" }, + "machine_show_variants": { "default_value": true }, + "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;(Home the printer)\nG92 E0;(Reset the extruder to 0)\nG0 Z5 E5 F500;(Move up and prime the nozzle)\nG0 X-1 Z0;(Move outside the printable area)\nG1 Y60 E8 F500;(Draw a priming/wiping line to the rear)\nG1 X-1;(Move a little closer to the print area)\nG1 Y10 E16 F500;(draw more priming/wiping)\nG1 E15 F250;(Small retract)\nG92 E0;(Zero the extruder)" + }, + "machine_end_gcode" : { + "default_value": "G0 X0 Y127;(Stick out the part)\nM190 S0;(Turn off heat bed, don't wait.)\nG92 E10;(Set extruder to 10)\nG1 E7 F200;(retract 3mm)\nM104 S0;(Turn off nozzle, don't wait)\nG4 S300;(Delay 5 minutes)\nM107;(Turn off part fan)\nM84;(Turn off stepper motors.)" + }, + "machine_width": { "default_value": 120 }, + "machine_depth": { "default_value": 120 }, + "machine_height": { "default_value": 120 }, + "machine_heated_bed": { "default_value": true }, + "machine_center_is_zero": { "default_value": false }, + "material_diameter": { "value": 1.75 }, + "machine_nozzle_size": { + "default_value": 0.4, + "minimum_value": "0.15" + }, + "machine_max_feedrate_x": { "default_value": 150 }, + "machine_max_feedrate_y": { "default_value": 150 }, + "machine_max_feedrate_z": { "default_value": 1.5 }, + "machine_max_feedrate_e": { "default_value": 100 }, + "machine_max_acceleration_x": { "default_value": 800 }, + "machine_max_acceleration_y": { "default_value": 800 }, + "machine_max_acceleration_z": { "default_value": 20 }, + "machine_max_acceleration_e": { "default_value": 10000 }, + "machine_max_jerk_xy": { "default_value": 20 }, + "machine_max_jerk_z": { "default_value": 0.4 }, + "machine_max_jerk_e": { "default_value": 5}, + "adhesion_type": { "default_value": "raft" }, + "raft_margin": { "default_value": 5 }, + "raft_airgap": { "default_value": 0.2625 }, + "raft_base_thickness": { "value": "0.30625" }, + "raft_interface_thickness": { "value": "0.21875" }, + "raft_surface_layers": { "default_value": 1 }, + "skirt_line_count": { "default_value": 2}, + "brim_width" : { "default_value": 5}, + "start_layers_at_same_position": { "default_value": true}, + "retraction_combing": { "default_value": "noskin" }, + "retraction_amount" : { "default_value": 4.5}, + "retraction_speed" : { "default_value": 40}, + "coasting_enable": { "default_value": true }, + "prime_tower_enable": { "default_value": false} + } +} diff --git a/resources/definitions/monoprice_select_mini_v1.def.json b/resources/definitions/monoprice_select_mini_v1.def.json new file mode 100644 index 0000000000..0b76a26c1c --- /dev/null +++ b/resources/definitions/monoprice_select_mini_v1.def.json @@ -0,0 +1,18 @@ +{ + "id": "monoprice_select_mini_v1", + "version": 2, + "name": "Monoprice Select Mini V1", + "inherits": "malyan_m200", + "metadata": { + "author": "Brian Corbino", + "manufacturer": "Monoprice", + "category": "Other", + "file_formats": "text/x-gcode", + "quality_definition": "malyan_m200", + "visible": true + }, + + "overrides": { + "machine_name": { "default_value": "Monoprice Select Mini V1" } + } +} diff --git a/resources/definitions/monoprice_select_mini_v2.def.json b/resources/definitions/monoprice_select_mini_v2.def.json new file mode 100644 index 0000000000..33367aad88 --- /dev/null +++ b/resources/definitions/monoprice_select_mini_v2.def.json @@ -0,0 +1,22 @@ +{ + "id": "monoprice_select_mini_v2", + "version": 2, + "name": "Monoprice Select Mini V2 (E3D)", + "inherits": "malyan_m200", + "metadata": { + "author": "Brian Corbino", + "manufacturer": "Monoprice", + "category": "Other", + "file_formats": "text/x-gcode", + "quality_definition": "malyan_m200", + "visible": true + }, + + "overrides": { + "machine_name": { "default_value": "Monoprice Select Mini V2" }, + "adhesion_type": { "default_value": "brim" }, + "retraction_combing": { "default_value": "noskin" }, + "retraction_amount" : { "default_value": 2.5}, + "retraction_speed" : { "default_value": 40} + } +} diff --git a/resources/meshes/malyan_m200_platform.stl b/resources/meshes/malyan_m200_platform.stl new file mode 100644 index 0000000000..32b19a0911 Binary files /dev/null and b/resources/meshes/malyan_m200_platform.stl differ diff --git a/resources/quality/malyan_m200/malyan_m200_0.04375.inst.cfg b/resources/quality/malyan_m200/malyan_m200_0.04375.inst.cfg new file mode 100644 index 0000000000..c19d6f2050 --- /dev/null +++ b/resources/quality/malyan_m200/malyan_m200_0.04375.inst.cfg @@ -0,0 +1,22 @@ +[general] +version = 2 +name = M1 Quality +definition = malyan_m200 + +[metadata] +type = quality +weight = 2 +quality_type = fine +setting_version = 3 + +[values] +layer_height = 0.04375 +layer_height_0 = 0.2625 +wall_thickness = 1.05 +top_bottom_thickness = 0.72 +infill_sparse_density = 22 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 +cool_min_speed = 10 diff --git a/resources/quality/malyan_m200/malyan_m200_0.0875.inst.cfg b/resources/quality/malyan_m200/malyan_m200_0.0875.inst.cfg new file mode 100644 index 0000000000..519e963227 --- /dev/null +++ b/resources/quality/malyan_m200/malyan_m200_0.0875.inst.cfg @@ -0,0 +1,22 @@ +[general] +version = 2 +name = M2 Quality +definition = malyan_m200 + +[metadata] +type = quality +weight = 1 +quality_type = high +setting_version = 3 + +[values] +layer_height = 0.0875 +layer_height_0 = 0.2625 +wall_thickness = 1.05 +top_bottom_thickness = 0.72 +infill_sparse_density = 22 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 +cool_min_speed = 10 diff --git a/resources/quality/malyan_m200/malyan_m200_0.13125.inst.cfg b/resources/quality/malyan_m200/malyan_m200_0.13125.inst.cfg new file mode 100644 index 0000000000..732218cd79 --- /dev/null +++ b/resources/quality/malyan_m200/malyan_m200_0.13125.inst.cfg @@ -0,0 +1,22 @@ +[general] +version = 2 +name = M3 Quality +definition = malyan_m200 + +[metadata] +type = quality +weight = 0 +quality_type = normal +setting_version = 3 + +[values] +layer_height = 0.13125 +layer_height_0 = 0.2625 +wall_thickness = 1.05 +top_bottom_thickness = 0.72 +infill_sparse_density = 22 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 +cool_min_speed = 10 diff --git a/resources/quality/malyan_m200/malyan_m200_0.175.inst.cfg b/resources/quality/malyan_m200/malyan_m200_0.175.inst.cfg new file mode 100644 index 0000000000..f27e1ff900 --- /dev/null +++ b/resources/quality/malyan_m200/malyan_m200_0.175.inst.cfg @@ -0,0 +1,23 @@ +[general] +version = 2 +name = M4 Quality +definition = malyan_m200 + +[metadata] +type = quality +weight = -1 +quality_type = fast +global_quality = true +setting_version = 3 + +[values] +layer_height = 0.175 +layer_height_0 = 0.2625 +wall_thickness = 1.05 +top_bottom_thickness = 0.72 +infill_sparse_density = 22 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 +cool_min_speed = 10 diff --git a/resources/quality/malyan_m200/malyan_m200_0.21875.inst.cfg b/resources/quality/malyan_m200/malyan_m200_0.21875.inst.cfg new file mode 100644 index 0000000000..3ff3b562b2 --- /dev/null +++ b/resources/quality/malyan_m200/malyan_m200_0.21875.inst.cfg @@ -0,0 +1,22 @@ +[general] +version = 2 +name = M5 Quality +definition = malyan_m200 + +[metadata] +type = quality +weight = -2 +quality_type = faster +setting_version = 3 + +[values] +layer_height = 0.21875 +layer_height_0 = 0.2625 +wall_thickness = 1.05 +top_bottom_thickness = 0.72 +infill_sparse_density = 22 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 +cool_min_speed = 10 diff --git a/resources/quality/malyan_m200/malyan_m200_0.2625.inst.cfg b/resources/quality/malyan_m200/malyan_m200_0.2625.inst.cfg new file mode 100644 index 0000000000..881f70521f --- /dev/null +++ b/resources/quality/malyan_m200/malyan_m200_0.2625.inst.cfg @@ -0,0 +1,22 @@ +[general] +version = 2 +name = M6 Quality +definition = malyan_m200 + +[metadata] +type = quality +weight = -3 +quality_type = draft +setting_version = 3 + +[values] +layer_height = 0.2625 +layer_height_0 = 0.2625 +wall_thickness = 1.05 +top_bottom_thickness = 0.72 +infill_sparse_density = 22 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 +cool_min_speed = 10 diff --git a/resources/quality/malyan_m200/malyan_m200_0.30625.inst.cfg b/resources/quality/malyan_m200/malyan_m200_0.30625.inst.cfg new file mode 100644 index 0000000000..5d81cbc259 --- /dev/null +++ b/resources/quality/malyan_m200/malyan_m200_0.30625.inst.cfg @@ -0,0 +1,22 @@ +[general] +version = 2 +name = M7 Quality +definition = malyan_m200 + +[metadata] +type = quality +weight = -4 +quality_type = turbo +setting_version = 3 + +[values] +layer_height = 0.30625 +layer_height_0 = 0.30625 +wall_thickness = 1.05 +top_bottom_thickness = 0.72 +infill_sparse_density = 22 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 +cool_min_speed = 10 diff --git a/resources/quality/malyan_m200/malyan_m200_0.35.inst.cfg b/resources/quality/malyan_m200/malyan_m200_0.35.inst.cfg new file mode 100644 index 0000000000..74294ea6f6 --- /dev/null +++ b/resources/quality/malyan_m200/malyan_m200_0.35.inst.cfg @@ -0,0 +1,23 @@ +[general] +version = 2 +name = M8 Quality +definition = malyan_m200 + +[metadata] +type = quality +weight = -5 +quality_type = hyper +global_quality = true +setting_version = 3 + +[values] +layer_height = 0.35 +layer_height_0 = 0.35 +wall_thickness = 1.05 +top_bottom_thickness = 0.72 +infill_sparse_density = 22 +speed_print = 50 +speed_layer_0 = =round(speed_print * 30 / 50) +speed_topbottom = 20 +cool_min_layer_time = 5 +cool_min_speed = 10 diff --git a/resources/variants/malyan_m200_0.15.inst.cfg b/resources/variants/malyan_m200_0.15.inst.cfg new file mode 100644 index 0000000000..808b8755ea --- /dev/null +++ b/resources/variants/malyan_m200_0.15.inst.cfg @@ -0,0 +1,18 @@ +[general] +name = 0.15 mm +version = 2 +definition = malyan_m200 + +[metadata] +author = Brian Corbino +type = variant +setting_version = 3 + +[values] +machine_nozzle_size = 0.15 +machine_nozzle_tip_outer_diameter = 0.8 +coasting_volume = 0.05 +coasting_min_volume = =round(coasting_volume * 4,2) +speed_wall = =round(speed_print / 1.2, 1) +speed_wall_0 = =1 if speed_wall < 5 else (speed_wall - 5) +speed_topbottom = =round(speed_print / 1.5, 1) diff --git a/resources/variants/malyan_m200_0.25.inst.cfg b/resources/variants/malyan_m200_0.25.inst.cfg new file mode 100644 index 0000000000..3847f5c617 --- /dev/null +++ b/resources/variants/malyan_m200_0.25.inst.cfg @@ -0,0 +1,18 @@ +[general] +name = 0.25 mm +version = 2 +definition = malyan_m200 + +[metadata] +author = Brian Corbino +type = variant +setting_version = 3 + +[values] +machine_nozzle_size = 0.25 +machine_nozzle_tip_outer_diameter = 0.8 +coasting_volume = 0.1 +coasting_min_volume = =round(coasting_volume * 4,2) +speed_wall = =round(speed_print / 1.2, 1) +speed_wall_0 = =1 if speed_wall < 5 else (speed_wall - 5) +speed_topbottom = =round(speed_print / 1.5, 1) diff --git a/resources/variants/malyan_m200_0.30.inst.cfg b/resources/variants/malyan_m200_0.30.inst.cfg new file mode 100644 index 0000000000..fee8aae40f --- /dev/null +++ b/resources/variants/malyan_m200_0.30.inst.cfg @@ -0,0 +1,18 @@ +[general] +name = 0.30 mm +version = 2 +definition = malyan_m200 + +[metadata] +author = Brian Corbino +type = variant +setting_version = 3 + +[values] +machine_nozzle_size = 0.30 +machine_nozzle_tip_outer_diameter = 0.8 +coasting_volume = 0.11 +coasting_min_volume = =round(coasting_volume * 4,2) +speed_wall = =round(speed_print / 1.2, 1) +speed_wall_0 = =1 if speed_wall < 5 else (speed_wall - 5) +speed_topbottom = =round(speed_print / 1.5, 1) diff --git a/resources/variants/malyan_m200_0.35.inst.cfg b/resources/variants/malyan_m200_0.35.inst.cfg new file mode 100644 index 0000000000..dcbb3ed4c0 --- /dev/null +++ b/resources/variants/malyan_m200_0.35.inst.cfg @@ -0,0 +1,18 @@ +[general] +name = 0.35 mm +version = 2 +definition = malyan_m200 + +[metadata] +author = Brian Corbino +type = variant +setting_version = 3 + +[values] +machine_nozzle_size = 0.35 +machine_nozzle_tip_outer_diameter = 0.8 +coasting_volume = 0.13 +coasting_min_volume = =round(coasting_volume * 4,2) +speed_wall = =round(speed_print / 1.2, 1) +speed_wall_0 = =1 if speed_wall < 5 else (speed_wall - 5) +speed_topbottom = =round(speed_print / 1.5, 1) diff --git a/resources/variants/malyan_m200_0.40.inst.cfg b/resources/variants/malyan_m200_0.40.inst.cfg new file mode 100644 index 0000000000..6e17dd13a6 --- /dev/null +++ b/resources/variants/malyan_m200_0.40.inst.cfg @@ -0,0 +1,18 @@ +[general] +name = 0.40 mm +version = 2 +definition = malyan_m200 + +[metadata] +author = Brian Corbino +type = variant +setting_version = 3 + +[values] +machine_nozzle_size = 0.40 +machine_nozzle_tip_outer_diameter = 1.05 +coasting_volume = 0.15 +coasting_min_volume = =round(coasting_volume * 4,2) +speed_wall = =round(speed_print / 1.25, 1) +speed_wall_0 = =1 if speed_wall < 10 else (speed_wall - 10) +speed_topbottom = =round(speed_print / 2.25, 1) diff --git a/resources/variants/malyan_m200_0.50.inst.cfg b/resources/variants/malyan_m200_0.50.inst.cfg new file mode 100644 index 0000000000..ce87def1e6 --- /dev/null +++ b/resources/variants/malyan_m200_0.50.inst.cfg @@ -0,0 +1,18 @@ +[general] +name = 0.50 mm +version = 2 +definition = malyan_m200 + +[metadata] +author = Brian Corbino +type = variant +setting_version = 3 + +[values] +machine_nozzle_size = 0.50 +machine_nozzle_tip_outer_diameter = 0.8 +coasting_volume = 0.2 +coasting_min_volume = =round(coasting_volume * 4,2) +speed_wall = =round(speed_print / 1.2, 1) +speed_wall_0 = =1 if speed_wall < 5 else (speed_wall - 5) +speed_topbottom = =round(speed_print / 1.5, 1) diff --git a/resources/variants/malyan_m200_0.60.inst.cfg b/resources/variants/malyan_m200_0.60.inst.cfg new file mode 100644 index 0000000000..0ee7c786e8 --- /dev/null +++ b/resources/variants/malyan_m200_0.60.inst.cfg @@ -0,0 +1,18 @@ +[general] +name = 0.60 mm +version = 2 +definition = malyan_m200 + +[metadata] +author = Brian Corbino +type = variant +setting_version = 3 + +[values] +machine_nozzle_size = 0.60 +machine_nozzle_tip_outer_diameter = 1.25 +coasting_volume = 0.28 +coasting_min_volume = =round(coasting_volume * 4,2) +speed_wall = =round(speed_print * 4 / 3, 1) +speed_wall_0 = =1 if speed_wall < 10 else (speed_wall - 10) +speed_topbottom = =round(speed_print / 2, 1) diff --git a/resources/variants/malyan_m200_0.80.inst.cfg b/resources/variants/malyan_m200_0.80.inst.cfg new file mode 100644 index 0000000000..54f48afdb4 --- /dev/null +++ b/resources/variants/malyan_m200_0.80.inst.cfg @@ -0,0 +1,18 @@ +[general] +name = 0.80 mm +version = 2 +definition = malyan_m200 + +[metadata] +author = Brian Corbino +type = variant +setting_version = 3 + +[values] +machine_nozzle_size = 0.80 +machine_nozzle_tip_outer_diameter = 1.35 +coasting_volume = 0.45 +coasting_min_volume = =round(coasting_volume * 4,2) +speed_wall = =round(speed_print * 4 / 3, 1) +speed_wall_0 = =1 if speed_wall < 10 else (speed_wall - 10) +speed_topbottom = =round(speed_print / 2, 1) diff --git a/resources/variants/malyan_m200_1.00.inst.cfg b/resources/variants/malyan_m200_1.00.inst.cfg new file mode 100644 index 0000000000..ce0a2d0dfb --- /dev/null +++ b/resources/variants/malyan_m200_1.00.inst.cfg @@ -0,0 +1,18 @@ +[general] +name = 1.00 mm +version = 2 +definition = malyan_m200 + +[metadata] +author = Brian Corbino +type = variant +setting_version = 3 + +[values] +machine_nozzle_size = 1.00 +machine_nozzle_tip_outer_diameter = 0.8 +coasting_volume = 0.63 +coasting_min_volume = =round(coasting_volume * 4,2) +speed_wall = =round(speed_print / 1.2, 1) +speed_wall_0 = =1 if speed_wall < 5 else (speed_wall - 5) +speed_topbottom = =round(speed_print / 1.5, 1)