From 774c0bc1ad3633d66a1ff01a5b99230a0bdd702f Mon Sep 17 00:00:00 2001 From: fr3ak2402 <96239814+fr3ak2402@users.noreply.github.com> Date: Tue, 2 May 2023 16:18:38 +0200 Subject: [PATCH] Adds printer profile for Qidi X-Plus printer (#915) * Adding the Qidi X-Plus Qidi X-Plus profile Qidi X-Plus image * Revision of the pressure plate model Qidi X-Plus --- resources/profiles/Qidi.json | 28 +++++ .../Qidi/filament/Qidi Generic ABS.json | 1 + .../Qidi/filament/Qidi Generic ASA.json | 1 + .../Qidi/filament/Qidi Generic PA-CF.json | 1 + .../Qidi/filament/Qidi Generic PA.json | 1 + .../Qidi/filament/Qidi Generic PC.json | 1 + .../Qidi/filament/Qidi Generic PETG-CF.json | 1 + .../Qidi/filament/Qidi Generic PETG.json | 1 + .../Qidi/filament/Qidi Generic PLA Silk.json | 1 + .../Qidi/filament/Qidi Generic PLA-CF.json | 1 + .../Qidi/filament/Qidi Generic PLA.json | 1 + .../Qidi/filament/Qidi Generic PVA.json | 1 + .../Qidi/filament/Qidi Generic TPU.json | 3 +- .../Qidi/machine/Qidi X-Plus 0.4 nozzle.json | 109 ++++++++++++++++++ .../profiles/Qidi/machine/Qidi X-Plus.json | 12 ++ .../Qidi/process/0.12mm Fine @Qidi XPlus.json | 108 +++++++++++++++++ .../process/0.16mm Optimal @Qidi XPlus.json | 108 +++++++++++++++++ .../process/0.20mm Standard @Qidi XPlus.json | 108 +++++++++++++++++ .../process/0.25mm Draft @Qidi XPlus.json | 108 +++++++++++++++++ .../0.30mm Extra Draft @Qidi XPlus.json | 108 +++++++++++++++++ .../Qidi/qidi_xplus_buildplate_model.stl | Bin 0 -> 18684 bytes .../Qidi/qidi_xplus_buildplate_texture.png | Bin 0 -> 11448 bytes .../web/image/printer/Qidi X-Plus_cover.png | Bin 0 -> 21513 bytes 23 files changed, 702 insertions(+), 1 deletion(-) create mode 100644 resources/profiles/Qidi/machine/Qidi X-Plus 0.4 nozzle.json create mode 100644 resources/profiles/Qidi/machine/Qidi X-Plus.json create mode 100644 resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json create mode 100644 resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json create mode 100644 resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json create mode 100644 resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json create mode 100644 resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json create mode 100644 resources/profiles/Qidi/qidi_xplus_buildplate_model.stl create mode 100644 resources/profiles/Qidi/qidi_xplus_buildplate_texture.png create mode 100644 resources/web/image/printer/Qidi X-Plus_cover.png diff --git a/resources/profiles/Qidi.json b/resources/profiles/Qidi.json index 8092fe72ba..abe9a9d0d5 100644 --- a/resources/profiles/Qidi.json +++ b/resources/profiles/Qidi.json @@ -5,6 +5,10 @@ "description": "Qidi configurations", "machine_model_list": [ { + "name": "Qidi X-Plus", + "sub_path": "machine/Qidi X-Plus.json" + }, + { "name": "Qidi X-Max", "sub_path": "machine/Qidi X-Max.json" }, @@ -33,6 +37,10 @@ { "name": "fdm_process_qidi_common", "sub_path": "process/fdm_process_qidi_common.json" + }, + { + "name": "0.12mm Fine @Qidi XMPlus", + "sub_path": "process/0.12mm Fine @Qidi XPlus.json" }, { "name": "0.12mm Fine @Qidi XMax", @@ -53,6 +61,10 @@ { "name": "0.12mm Fine @Qidi XMax3", "sub_path": "process/0.12mm Fine @Qidi XMax3.json" + }, + { + "name": "0.16mm Optimal @Qidi XPlus", + "sub_path": "process/0.16mm Optimal @Qidi XPlus.json" }, { "name": "0.16mm Optimal @Qidi XMax", @@ -73,6 +85,10 @@ { "name": "0.16mm Optimal @Qidi XMax3", "sub_path": "process/0.16mm Optimal @Qidi XMax3.json" + }, + { + "name": "0.20mm Standard @Qidi XPlus", + "sub_path": "process/0.20mm Standard @Qidi XPlus.json" }, { "name": "0.20mm Standard @Qidi XMax", @@ -93,6 +109,10 @@ { "name": "0.20mm Standard @Qidi XMax3", "sub_path": "process/0.20mm Standard @Qidi XMax3.json" + }, + { + "name": "0.25mm Draft @Qidi XPlus", + "sub_path": "process/0.25mm Draft @Qidi XPlus.json" }, { "name": "0.25mm Draft @Qidi XMax", @@ -113,6 +133,10 @@ { "name": "0.25mm Draft @Qidi XMax3", "sub_path": "process/0.25mm Draft @Qidi XMax3.json" + }, + { + "name": "0.30mm Extra Draft @Qidi XPlus", + "sub_path": "process/0.30mm Extra Draft @Qidi XPlus.json" }, { "name": "0.30mm Extra Draft @Qidi XMax", @@ -229,6 +253,10 @@ { "name": "fdm_qidi_common", "sub_path": "machine/fdm_qidi_common.json" + }, + { + "name": "Qidi X-Plus 0.4 nozzle", + "sub_path": "machine/Qidi X-Plus 0.4 nozzle.json" }, { "name": "Qidi X-Max 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic ABS.json b/resources/profiles/Qidi/filament/Qidi Generic ABS.json index 5cfab1609c..1058874e58 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic ABS.json +++ b/resources/profiles/Qidi/filament/Qidi Generic ABS.json @@ -13,6 +13,7 @@ "12" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic ASA.json b/resources/profiles/Qidi/filament/Qidi Generic ASA.json index b69c58b963..e005e46179 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic ASA.json +++ b/resources/profiles/Qidi/filament/Qidi Generic ASA.json @@ -13,6 +13,7 @@ "0.926" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic PA-CF.json b/resources/profiles/Qidi/filament/Qidi Generic PA-CF.json index f646159c30..5cc12c8651 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic PA-CF.json +++ b/resources/profiles/Qidi/filament/Qidi Generic PA-CF.json @@ -37,6 +37,7 @@ "2" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic PA.json b/resources/profiles/Qidi/filament/Qidi Generic PA.json index 8f2d9b0d60..cd2976a581 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic PA.json +++ b/resources/profiles/Qidi/filament/Qidi Generic PA.json @@ -19,6 +19,7 @@ "16" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic PC.json b/resources/profiles/Qidi/filament/Qidi Generic PC.json index c6b6efc5e7..40065c0618 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic PC.json +++ b/resources/profiles/Qidi/filament/Qidi Generic PC.json @@ -13,6 +13,7 @@ "0.94" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG-CF.json b/resources/profiles/Qidi/filament/Qidi Generic PETG-CF.json index f6393c0137..d5e69ada9d 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic PETG-CF.json +++ b/resources/profiles/Qidi/filament/Qidi Generic PETG-CF.json @@ -82,6 +82,7 @@ "20" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic PETG.json b/resources/profiles/Qidi/filament/Qidi Generic PETG.json index d32701bf35..e92be61906 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic PETG.json +++ b/resources/profiles/Qidi/filament/Qidi Generic PETG.json @@ -43,6 +43,7 @@ "; filament start gcode\n" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA Silk.json b/resources/profiles/Qidi/filament/Qidi Generic PLA Silk.json index b38ca298e3..c926f6567d 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic PLA Silk.json +++ b/resources/profiles/Qidi/filament/Qidi Generic PLA Silk.json @@ -22,6 +22,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif};Prevent PLA from jamming" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA-CF.json b/resources/profiles/Qidi/filament/Qidi Generic PLA-CF.json index 477500cc29..f9df88537e 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic PLA-CF.json +++ b/resources/profiles/Qidi/filament/Qidi Generic PLA-CF.json @@ -37,6 +37,7 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S255\n{elsif(bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S180\n{endif}" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic PLA.json b/resources/profiles/Qidi/filament/Qidi Generic PLA.json index 5cc85fccf0..18745fc567 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic PLA.json +++ b/resources/profiles/Qidi/filament/Qidi Generic PLA.json @@ -16,6 +16,7 @@ "8" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic PVA.json b/resources/profiles/Qidi/filament/Qidi Generic PVA.json index 9f94d7f5a6..993724abc7 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic PVA.json +++ b/resources/profiles/Qidi/filament/Qidi Generic PVA.json @@ -19,6 +19,7 @@ "10" ], "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle", "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/filament/Qidi Generic TPU.json b/resources/profiles/Qidi/filament/Qidi Generic TPU.json index 80ffd8fbc2..e42b48c8d6 100644 --- a/resources/profiles/Qidi/filament/Qidi Generic TPU.json +++ b/resources/profiles/Qidi/filament/Qidi Generic TPU.json @@ -13,7 +13,8 @@ "; filament start gcode\n{if (bed_temperature[current_extruder] >35)||(bed_temperature_initial_layer[current_extruder] >35)}M106 P3 S255\n{elsif (bed_temperature[current_extruder] >30)||(bed_temperature_initial_layer[current_extruder] >30)}M106 P3 S180\n{endif}" ], "compatible_printers": [ - "Qidi X-Max 0.4 nozzle", + "Qidi X-Plus 0.4 nozzle", + "Qidi X-Max 0.4 nozzle", "Qidi X-CF Pro 0.4 nozzle", "Qidi X-Smart 3 0.4 nozzle", "Qidi X-Plus 3 0.4 nozzle", diff --git a/resources/profiles/Qidi/machine/Qidi X-Plus 0.4 nozzle.json b/resources/profiles/Qidi/machine/Qidi X-Plus 0.4 nozzle.json new file mode 100644 index 0000000000..9957925706 --- /dev/null +++ b/resources/profiles/Qidi/machine/Qidi X-Plus 0.4 nozzle.json @@ -0,0 +1,109 @@ +{ + "type": "machine", + "setting_id": "GM001", + "name": "Qidi X-Plus 0.4 nozzle", + "from": "system", + "instantiation": "true", + "inherits": "fdm_qidi_common", + "printer_model": "Qidi X-Plus", + "default_print_profile": "0.20mm Standard @Qidi XPlus", + "nozzle_diameter": [ + "0.4" + ], + "printable_area": [ + "0x0", + "270x0", + "270x200", + "0x200" + ], + "printable_height": "200", + "nozzle_type": "hardened_steel", + "auxiliary_fan": "0", + "machine_max_acceleration_extruding": [ + "1500", + "1250" + ], + "machine_max_acceleration_retracting": [ + "1500", + "1250" + ], + "machine_max_acceleration_travel": [ + "1500", + "1250" + ], + "machine_max_acceleration_x": [ + "9000", + "1000" + ], + "machine_max_acceleration_y": [ + "9000", + "1000" + ], + "machine_max_acceleration_z": [ + "500", + "200" + ], + "machine_max_speed_e": [ + "120", + "120" + ], + "machine_max_speed_x": [ + "500", + "200" + ], + "machine_max_speed_y": [ + "500", + "200" + ], + "machine_max_speed_z": [ + "12", + "12" + ], + "machine_max_jerk_e": [ + "2.5", + "2.5" + ], + "machine_max_jerk_x": [ + "10", + "10" + ], + "machine_max_jerk_y": [ + "10", + "10" + ], + "machine_max_jerk_z": [ + "0.2", + "0.4" + ], + "max_layer_height": [ + "0" + ], + "min_layer_height": [ + "0.07" + ], + "printer_settings_id": "Qidi", + "retraction_minimum_travel": [ + "2" + ], + "retract_before_wipe": [ + "0%" + ], + "retraction_length": [ + "2" + ], + "retract_length_toolchange": [ + "10" + ], + "deretraction_speed": [ + "0" + ], + "single_extruder_multi_material": "0", + "change_filament_gcode": "", + "machine_pause_gcode": "M0", + "default_filament_profile": [ + "Qidi Generic PLA" + ], + "machine_start_gcode": "G28\nG92 E0\nG0 X5 Y5 Z0.3 F3600\n", + "machine_end_gcode": "M104 S0\nM140 S0\n;Retract the filament\nG92 E0\nG1 E-3 F300\nG28\nM84\n", + "scan_first_layer": "0" +} \ No newline at end of file diff --git a/resources/profiles/Qidi/machine/Qidi X-Plus.json b/resources/profiles/Qidi/machine/Qidi X-Plus.json new file mode 100644 index 0000000000..d5b10a8495 --- /dev/null +++ b/resources/profiles/Qidi/machine/Qidi X-Plus.json @@ -0,0 +1,12 @@ +{ + "type": "machine_model", + "name": "Qidi X-Plus", + "model_id": "Qidi-XPlus", + "nozzle_diameter": "0.4", + "machine_tech": "FFF", + "family": "Qidi", + "bed_model": "qidi_xplus_buildplate_model.stl", + "bed_texture": "qidi_xplus_buildplate_texture.png", + "hotend_model": "qidi_xseries_gen2_hotend.stl", + "default_materials": "Qidi Generic ASA;Qidi Generic ABS;Qidi Generic PA-CF;Qidi Generic PA;Qidi Generic PC;Qidi Generic PETG-CF;Qidi Generic PETG;Qidi Generic PLA Silk;Qidi Generic PLA;Qidi Generic PLA-CF;Qidi Generic PVA;Qidi Generic TPU" +} diff --git a/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json new file mode 100644 index 0000000000..f60c5d6cd9 --- /dev/null +++ b/resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.12mm Fine @Qidi XPlus", + "from": "system", + "inherits": "fdm_process_qidi_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.12", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "60", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.42", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "15%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "6", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.12", + "support_filament": "0", + "support_line_width": "0.35", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "0", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "200", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "200", + "gap_infill_speed": "250", + "sparse_infill_speed": "270", + "travel_speed": "500", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json new file mode 100644 index 0000000000..549770f72f --- /dev/null +++ b/resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.16mm Optimal @Qidi XPlus", + "from": "system", + "inherits": "fdm_process_qidi_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.16", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "60", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.42", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "15%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "6", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.16", + "support_filament": "0", + "support_line_width": "0.35", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "0", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "200", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "200", + "gap_infill_speed": "250", + "sparse_infill_speed": "270", + "travel_speed": "500", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json new file mode 100644 index 0000000000..d73878fe91 --- /dev/null +++ b/resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.20mm Standard @Qidi XPlus", + "from": "system", + "inherits": "fdm_process_qidi_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.2", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "60", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.42", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "15%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "6", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.2", + "support_filament": "0", + "support_line_width": "0.35", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "0", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "200", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "200", + "gap_infill_speed": "250", + "sparse_infill_speed": "270", + "travel_speed": "500", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json new file mode 100644 index 0000000000..6565ee1731 --- /dev/null +++ b/resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.25mm Draft @Qidi XPlus", + "from": "system", + "inherits": "fdm_process_qidi_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.25", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "60", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.42", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "15%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "6", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.25", + "support_filament": "0", + "support_line_width": "0.35", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "0", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "200", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "200", + "gap_infill_speed": "250", + "sparse_infill_speed": "270", + "travel_speed": "500", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json new file mode 100644 index 0000000000..e1e8920fb3 --- /dev/null +++ b/resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json @@ -0,0 +1,108 @@ +{ + "type": "process", + "setting_id": "GP004", + "name": "0.30mm Extra Draft @Qidi XPlus", + "from": "system", + "inherits": "fdm_process_qidi_common", + "instantiation": "true", + "adaptive_layer_height": "1", + "reduce_crossing_wall": "0", + "layer_height": "0.3", + "max_travel_detour_distance": "0", + "bottom_surface_pattern": "monotonic", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bridge_flow": "1", + "bridge_speed": "60", + "brim_width": "0", + "brim_object_gap": "0", + "compatible_printers_condition": "", + "print_sequence": "by layer", + "default_acceleration": "0", + "top_surface_acceleration": "0", + "bridge_no_support": "0", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "enable_arc_fitting": "0", + "outer_wall_line_width": "0.4", + "wall_infill_order": "inner wall/outer wall/infill", + "line_width": "0.42", + "infill_direction": "45", + "sparse_infill_density": "15%", + "sparse_infill_pattern": "grid", + "initial_layer_acceleration": "500", + "travel_acceleration": "0", + "inner_wall_acceleration": "0", + "initial_layer_line_width": "0.42", + "initial_layer_print_height": "0.3", + "infill_combination": "0", + "sparse_infill_line_width": "0.45", + "infill_wall_overlap": "15%", + "interface_shells": "0", + "ironing_flow": "15%", + "ironing_spacing": "0.1", + "ironing_speed": "15", + "ironing_type": "top", + "reduce_infill_retraction": "1", + "filename_format": "[input_filename_base].gcode", + "detect_overhang_wall": "1", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "20", + "overhang_3_4_speed": "15", + "overhang_4_4_speed": "10", + "inner_wall_line_width": "0.45", + "wall_loops": "2", + "print_settings_id": "", + "raft_layers": "0", + "seam_position": "aligned", + "skirt_distance": "6", + "skirt_height": "1", + "skirt_loops": "2", + "minimum_sparse_infill_area": "10", + "internal_solid_infill_line_width": "0", + "spiral_mode": "0", + "standby_temperature_delta": "-5", + "enable_support": "0", + "resolution": "0.012", + "support_type": "normal(auto)", + "support_style": "grid", + "support_on_build_plate_only": "0", + "support_top_z_distance": "0.3", + "support_filament": "0", + "support_line_width": "0.35", + "support_interface_loop_pattern": "0", + "support_interface_filament": "0", + "support_interface_top_layers": "3", + "support_interface_bottom_layers": "-1", + "support_interface_spacing": "2.5", + "support_interface_speed": "100%", + "support_base_pattern": "rectilinear", + "support_base_pattern_spacing": "2.5", + "support_speed": "150", + "support_threshold_angle": "0", + "support_object_xy_distance": "50%", + "tree_support_branch_angle": "40", + "tree_support_wall_count": "0", + "detect_thin_wall": "1", + "top_surface_pattern": "monotonic", + "top_surface_line_width": "0.4", + "top_shell_layers": "4", + "top_shell_thickness": "0.8", + "initial_layer_speed": "35%", + "initial_layer_infill_speed": "35%", + "outer_wall_speed": "200", + "inner_wall_speed": "300", + "internal_solid_infill_speed": "250", + "top_surface_speed": "200", + "gap_infill_speed": "250", + "sparse_infill_speed": "270", + "travel_speed": "500", + "enable_prime_tower": "0", + "wipe_tower_no_sparse_layers": "0", + "prime_tower_width": "60", + "xy_hole_compensation": "0", + "xy_contour_compensation": "0", + "compatible_printers": [ + "Qidi X-Plus 0.4 nozzle" + ] +} \ No newline at end of file diff --git a/resources/profiles/Qidi/qidi_xplus_buildplate_model.stl b/resources/profiles/Qidi/qidi_xplus_buildplate_model.stl new file mode 100644 index 0000000000000000000000000000000000000000..0f58d752d7aa325e4e99adb2eb49314f4755aaa1 GIT binary patch literal 18684 zcmb81&#Rur6~~`~Cef7yqcsT{G&R;jsMZotnzwzgmXz8ER-0WRxTw(L#^SE!f!al( zxanHrMtl1Q6hTT}xEG^QXe>>u)Mn>O8WakpSV}wJIdh)#InO(9nqEkm-ZP*1&Y7QQ z=9%kvpL%?GbHlK`edEce zFa2aSl%ETyo?H&Y#hqaoSCJlubBDgOeB_M%{`u1+Xz3Hf@ciimpX{Fe{?C3?HAqBS z+NYMEeea#Boe5g{gf!lH|Ip&0JHFlgh_ZqnhG&jGy8Qjscbf(YTKa@E{(i$(7v*2o z2x1ss{_xoH!To2Z}?_u<#?SPsLLT5hDr)!C2kT)w&e*ZTWR(9$QQ z!Tul->2dY&>-Q}8{N}@^L4uY(Aq}=JiAd*G$V9ZsF!Tv&{OWhx$23;e?%}P{2THxy z+iepeZ%KGs8YK_Q4le)sk3ZBlx%k*^JDwhfgUey~V{0qVUuw3XB@?%m-2aOh zhR8+#a;<2|g!`ef%UaP}5~|_8n=W_!Ai-Q`_upP}|0xrrJg2v8HzTYKYpqId{frA* zGI3}*3?ORuIdOJ>QV5fPS5>?_1up<%#`7{|zb;j7y9)ry4GaJIs&wH0%5 z@0$E5H5(VSkWd@mdby`Tg1OW;mtOeuj(TCzsI{U+eSY|gUphbA)%S(HO#dl!CVn>K%=%UEhM-<&NU*wBB2$v-?}V|xwOvrdyp2}ajc(N(&k!` z(4Oeycr(FVj6O1P;*Bp%JAD~3rH^eEJ#+NyI~F0Mb?dmIg@j7-I4En7V6Jmlj~2b& zeoo7M+xJX+I7`~BL86SYygL^k^fNA47IWRQ|H%4YJI)E_x^U{z9Xqki+lm$vWyBQE zXZv~8Ai-SRQM2c?kl;R_3C3!QgM7R)w#x)9Bowb~njZ&>hZcD=mui*fdGT65ijdVN zw#q#G`dvGI=2#;PC`auf`n`!+WCu+r9oHvt3^_&(GTw^l9Xo
&$j_a#cCZy3n<3z1Wi%z+?OJvV!A#vf<=`yBz^Me)=mhR2L zb;5F)=RFNtSgy4~Zw``RE^GDPjH1PQ&~mY)+*Y(?LL;U(qe$4evRpPoohWx?t9EBO za;1*6Zl+>StaoG+K}(-#cYWvE-Rnpq(z;LN&ROpIDskYGtzXm9C!|qsgwN{^d3*ck zuaSs!zF`ZZ%-m9|h#C5XG<5IU?p{+{ara>>B%<8V`mQ#vNJLs1=#O$&?2&LLB2t?Z zv;?i2ZN`b-x>~csqWkv96?0P>Bxvaq+SR;2q(LIm()M{S4HC5U32FTBv$tL?ou|9k zF$n!Xtwc7r{<8nr4hqL*uXk>yf)Tyf2x{HO#ieFCk!Mg(1a#Lh7FN2^ur z8GS+;ZCtGpQSP|nUXlq~`h+yJj_A%^O+_No(DheotBYrlp%73wE$4h>_uGkFWfedo!VOm5YSZ@MC2fabB_-YHjzn@<^t6UJ3Ko zEPX;6tv}X?puNvsgM{^gS^9)D+PG?d#Ca)bAG;nWlCZJlv7yr>q|ruu)gTdRpM$PJ z!sdio`h+yvtUa&(AQ5R_OFTj*VRPFoeL@;-^{E;pBArJ}CODS*gf!m!*MTx_OF88y z&g3fB$5?)Mu!$%*h)63gY5Rx#7)w9z#t8Sc?@``XBy7(xOVA`*e`p`98YCj^d#(3* z>5qx9z0WLtLKkhF-UW(jY-gpO8jd z;TEbDiAWDa+(t@+1TB3+8f~Sn8YCjE{_vYrX^^0$Pe`NfI8}p0q=zAHZlytjmOdd3 z#0(>eNXrkuBbNpVTKYuO(D__`q_Tn@hPWed8kHy~`g>{V6RoW@YfE&wb&N!$rS0Dh zT3b~@zo(^7NTaPj&5tN6=wXQO6w)9;OP`QNTScn|iAWDad`Xc830nGuG_)RSq{wd) zkuDMY^cF`NBxvaq(rCL{)gTdRsr&mPX^^0$Pe9|mN+Jdm$tZ66$BS^a*LSkytfIL|W?prbrqjXz3Hu zz+Rim3fktmy%3Uy6T0iuymL#RkcRKIy6YnmY5C#bIi=x*eosrEXc{_4)wUuLXho5sO2o?wonX8sB+yoCM9^Ae^j5JKU(wPh zq|thCAwNh&TI-d+NRb~TXz3HuXk)i(kcf0qpWewxg9I&oLK=*gNJLuemA??e9IUmX zrB6tM(GrPB%a6NDf9MT@G)U0WCz=N0t0*gItug)`QfYUq)`c#>y|!&wpt^C_Wtnw zqqS8ftbNSVC#2DOaHSR@5osG&zT0I&{p^-LA&oW?s|JZkOWohSV(eCemOdd3kCs#t ziAdW#_vj-Nns;vL6VhO`L?Y7C)*7RCWb%UqEq$VCAij#Sg0^+nYdfupwXL)cx}{IF zwwj_P5|Nf4{?=W7wB4ZfM_BrVG}?}{Mnt)`5BliIg!U!3^a*KbJ=EAzZAnDh_j8{g zBy4{*OP`Pi<0}%8&M{FYBHk%q^6^&?@q1}#to-(;ua@s#iLvQXIy*TI44*uzDS{7t`#jL%A7B{9`(_4 zT1fB}N!1vQQr)90=F-{F+bt8ckSHT`YK2VDLPF=Z)K*iiXdw}|s;zZJlz-!j783EE zW!@hom@96F=L9Vz%B(H@;n7m5QTtKrhJ^%AmbuSqAra@#d97$65vSrgK?@1>ll`67 zoS=n7+#t*eT1dp(pKB4!Wh2yM25(!NcN)89ArWtX<{B)Exir%}GRXZw3yF9MJlDvC z|HYZD)SEOSE@8Q))tByHt`#jL;xDb{wIab>5o^r}T1doSB3+AMu80}u1T7>YlARN@ zkcjwtPS8RkqW(ES3yC<3fEaBg#(9Z^N?P01DnSbgtLPf)*0_-BK;S{!cE8x$OJ7y{5~av)uI> z`fCwtL_9e6$-lnN{U8xvV&`AnsljjNB>0^>`#}o{eznd7EhPBWIuo>z;1}gN;jh@- zTm3C++3lvkmR)Zvf2)=W^H1-uu0=4H`PU<8F`x7v>UwKM!aO&+dOnt3EdTuNkeBPP zx1_-rbnJ6l%7|(2z5Fds&kqvzvc_`R3m6bnt!S|~EZ!g2Q>#qm_gB@E>N#r_ueUTe zV~5M5gccHfKa&YsNW>eR`6yW@{B#%Za fZzgCVA^+AQvN{q;Fc)i^Yn3CJSZlfRJ%9SY)h?9I literal 0 HcmV?d00001 diff --git a/resources/profiles/Qidi/qidi_xplus_buildplate_texture.png b/resources/profiles/Qidi/qidi_xplus_buildplate_texture.png new file mode 100644 index 0000000000000000000000000000000000000000..61ecc16f7925364f9a4e792836c6edb71586add8 GIT binary patch literal 11448 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 literal 0 HcmV?d00001 diff --git a/resources/web/image/printer/Qidi X-Plus_cover.png b/resources/web/image/printer/Qidi X-Plus_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..4f050dcadfb4ce58adacf738d80129f2fe87e1fa GIT binary patch literal 21513 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 literal 0 HcmV?d00001