Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime van Kessel <nallath@gmail.com>2022-09-15 15:30:14 +0300
committerJaime van Kessel <nallath@gmail.com>2022-09-15 15:30:14 +0300
commitb5677714a7b4c43f029d8c8214db431070836628 (patch)
treef980fedfcaa0a6085dc13b7364033f3659876c8e /resources
parent8aefa7c60d59bbcbb102f88a597c0d7cab278ecf (diff)
parent6950b9d3322396b3cbb570dcbe8037aa3b50cae0 (diff)
Merge branch 'vivedino_add_printers' of github.com:jim-edwards/Cura
Diffstat (limited to 'resources')
-rw-r--r--resources/definitions/vivedino_base.def.json166
-rw-r--r--resources/definitions/vivedino_trex2plus.def.json34
-rw-r--r--resources/definitions/vivedino_trex3.def.json34
-rw-r--r--resources/extruders/trex2_extruder_0.def.json25
-rw-r--r--resources/extruders/trex2_extruder_1.def.json25
-rw-r--r--resources/extruders/trex_base_extruder_0.def.json16
-rw-r--r--resources/extruders/trex_extruder_0.def.json25
-rw-r--r--resources/extruders/trex_extruder_1.def.json25
-rw-r--r--resources/meshes/vivedino_trex.stlbin0 -> 480984 bytes
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.2_ABS_super.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.2_ABS_ultra.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.2_PETG_super.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.2_PETG_ultra.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.2_PLA_super.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.2_PLA_ultra.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_adaptive.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_low.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_standard.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_super.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_adaptive.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_low.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_standard.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_super.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_adaptive.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_low.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_standard.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_super.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_adaptive.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_standard.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_super.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.6_ABS_standard.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.6_PETG_standard.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_draft.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_low.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_standard.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.6_TPU_standard.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.8_ABS_draft.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.8_PETG_draft.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.8_PLA_draft.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_0.8_TPU_draft.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_global_adaptive.inst.cfg19
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_global_draft.inst.cfg18
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_global_low.inst.cfg18
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_global_standard.inst.cfg18
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_global_super.inst.cfg18
-rw-r--r--resources/quality/vivedino/trex2plus/trex2plus_global_ultra.inst.cfg18
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.2_ABS_super.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.2_ABS_ultra.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.2_PETG_super.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.2_PETG_ultra.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.2_PLA_super.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.2_PLA_ultra.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_ABS_adaptive.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_ABS_low.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_ABS_standard.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_ABS_super.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_PETG_adaptive.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_PETG_low.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_PETG_standard.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_PETG_super.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_PLA_adaptive.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_PLA_low.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_PLA_standard.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_PLA_super.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_TPU_adaptive.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_TPU_standard.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.4_TPU_super.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.6_ABS_standard.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.6_PETG_standard.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.6_PLA_draft.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.6_PLA_low.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.6_PLA_standard.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.6_TPU_standard.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.8_ABS_draft.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.8_PETG_draft.inst.cfg14
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.8_PLA_draft.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_0.8_TPU_draft.inst.cfg13
-rw-r--r--resources/quality/vivedino/trex3/trex3_global_adaptive.inst.cfg19
-rw-r--r--resources/quality/vivedino/trex3/trex3_global_draft.inst.cfg18
-rw-r--r--resources/quality/vivedino/trex3/trex3_global_low.inst.cfg18
-rw-r--r--resources/quality/vivedino/trex3/trex3_global_standard.inst.cfg18
-rw-r--r--resources/quality/vivedino/trex3/trex3_global_super.inst.cfg18
-rw-r--r--resources/quality/vivedino/trex3/trex3_global_ultra.inst.cfg18
-rw-r--r--resources/variants/vivedino_trex2plus_0.2.inst.cfg12
-rw-r--r--resources/variants/vivedino_trex2plus_0.4.inst.cfg12
-rw-r--r--resources/variants/vivedino_trex2plus_0.6.inst.cfg12
-rw-r--r--resources/variants/vivedino_trex2plus_0.8.inst.cfg13
-rw-r--r--resources/variants/vivedino_trex3_0.2.inst.cfg12
-rw-r--r--resources/variants/vivedino_trex3_0.4.inst.cfg12
-rw-r--r--resources/variants/vivedino_trex3_0.6.inst.cfg12
-rw-r--r--resources/variants/vivedino_trex3_0.8.inst.cfg13
91 files changed, 1504 insertions, 0 deletions
diff --git a/resources/definitions/vivedino_base.def.json b/resources/definitions/vivedino_base.def.json
new file mode 100644
index 0000000000..fb3196dcaa
--- /dev/null
+++ b/resources/definitions/vivedino_base.def.json
@@ -0,0 +1,166 @@
+{
+ "name": "Vivedino/FormBot Base Printer",
+ "version": 2,
+ "inherits": "fdmprinter",
+ "metadata": {
+ "visible": false,
+ "author": "bitflipper11",
+ "manufacturer": "Vivedino, Formbot",
+ "file_formats": "text/x-gcode",
+ "first_start_actions": ["MachineSettingsAction"],
+
+ "machine_extruder_trains": {
+ "0": "trex_base_extruder_0"
+ },
+
+ "has_materials": true,
+ "has_variants": true,
+ "has_machine_quality": true,
+ "variants_name": "Nozzle Size",
+
+ "preferred_variant_name": "0.4mm Nozzle",
+ "preferred_quality_type": "standard",
+ "preferred_material": "generic_pla"
+ },
+ "overrides": {
+ "machine_name": { "default_value": "Vivedino Base Printer" },
+ "machine_start_gcode": { "default_value": "M201 X500.00 Y500.00 Z100.00 E5000.00 ;Setup machine max acceleration\nM203 X500.00 Y500.00 Z10.00 E50.00 ;Setup machine max feedrate\nM204 P500.00 R1000.00 T500.00 ;Setup Print/Retract/Travel acceleration\nM205 X8.00 Y8.00 Z0.40 E5.00 ;Setup Jerk\nM220 S100 ;Reset Feedrate\nM221 S100 ;Reset Flowrate\n\nG28 ;Home\n\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\nG1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position\nG1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line\nG1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little\nG1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line\nG92 E0 ;Reset Extruder\nG1 Z2.0 F3000 ;Move Z Axis up\n" },
+ "machine_end_gcode": { "default_value": "G91 ;Relative positioning\nG1 E-2 F2700 ;Retract a bit\nG1 E-2 Z0.2 F2400 ;Retract and raise Z\nG1 X5 Y5 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positioning\n\nG1 X0 Y{machine_depth} ;Present print\nM106 S0 ;Turn-off fan\nM104 S0 ;Turn-off hotend\nM140 S0 ;Turn-off bed\n\nM84 X Y E ;Disable all steppers but Z\n" },
+
+ "machine_max_feedrate_x": { "value": 500 },
+ "machine_max_feedrate_y": { "value": 500 },
+ "machine_max_feedrate_z": { "value": 10 },
+ "machine_max_feedrate_e": { "value": 50 },
+
+ "machine_max_acceleration_x": { "value": 500 },
+ "machine_max_acceleration_y": { "value": 500 },
+ "machine_max_acceleration_z": { "value": 100 },
+ "machine_max_acceleration_e": { "value": 5000 },
+ "machine_acceleration": { "value": 500 },
+
+ "machine_max_jerk_xy": { "value": 10 },
+ "machine_max_jerk_z": { "value": 0.4 },
+ "machine_max_jerk_e": { "value": 5 },
+
+ "machine_heated_bed": { "default_value": true },
+
+ "material_diameter": { "default_value": 1.75 },
+
+ "acceleration_print": { "value": 500 },
+ "acceleration_travel": { "value": 500 },
+ "acceleration_travel_layer_0": { "value": "acceleration_travel" },
+ "acceleration_roofing": { "enabled": "acceleration_enabled and roofing_layer_count > 0 and top_layers > 0" },
+
+ "jerk_print": { "value": 8 },
+ "jerk_travel": { "value": "jerk_print" },
+ "jerk_travel_layer_0": { "value": "jerk_travel" },
+
+ "acceleration_enabled": { "value": false },
+ "jerk_enabled": { "value": false },
+
+ "speed_print": { "value": 50.0 } ,
+ "speed_infill": { "value": "speed_print" },
+ "speed_wall": { "value": "speed_print / 2" },
+ "speed_wall_0": { "value": "speed_wall" },
+ "speed_wall_x": { "value": "speed_wall" },
+ "speed_topbottom": { "value": "speed_print / 2" },
+ "speed_roofing": { "value": "speed_topbottom" },
+ "speed_travel": { "value": "150.0 if speed_print < 60 else 250.0 if speed_print > 100 else speed_print * 2.5" },
+ "speed_layer_0": { "value": 20.0 },
+ "speed_print_layer_0": { "value": "speed_layer_0" },
+ "speed_travel_layer_0": { "value": "100 if speed_layer_0 < 20 else 150 if speed_layer_0 > 30 else speed_layer_0 * 5" },
+ "speed_prime_tower": { "value": "speed_topbottom" },
+ "speed_support": { "value": "speed_wall_0" },
+ "speed_support_interface": { "value": "speed_topbottom" },
+ "speed_z_hop": { "value": 5 },
+
+ "skirt_brim_speed": { "value": "speed_layer_0" },
+
+ "line_width": { "value": "machine_nozzle_size * 0.95" },
+
+ "optimize_wall_printing_order": { "value": "True" },
+
+ "material_initial_print_temperature": { "value": "material_print_temperature" },
+ "material_final_print_temperature": { "value": "material_print_temperature" },
+ "material_flow": { "value": 100 },
+
+ "z_seam_type": { "value": "'back'" },
+ "z_seam_corner": { "value": "'z_seam_corner_weighted'" },
+
+ "infill_sparse_density": { "value": "20" },
+ "infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'cubic'" },
+ "infill_before_walls": { "value": false },
+ "infill_overlap": { "value": 30.0 },
+ "skin_overlap": { "value": 10.0 },
+ "infill_wipe_dist": { "value": 0.0 },
+ "wall_0_wipe_dist": { "value": 0.0 },
+
+ "fill_outline_gaps": { "value": false },
+ "filter_out_tiny_gaps": { "value": false },
+
+ "retraction_speed": {
+ "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')",
+ "maximum_value": 200
+ },
+ "retraction_retract_speed": {
+ "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')",
+ "maximum_value": 200
+ },
+ "retraction_prime_speed": {
+ "maximum_value_warning": "machine_max_feedrate_e if retraction_enable else float('inf')",
+ "maximum_value": 200
+ },
+
+ "retraction_hop_enabled": { "value": "False" },
+ "retraction_hop": { "value": 0.2 },
+ "retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" },
+ "retraction_combing_max_distance": { "value": 30 },
+ "travel_avoid_other_parts": { "value": true },
+ "travel_avoid_supports": { "value": true },
+ "travel_retract_before_outer_wall": { "value": true },
+
+ "retraction_enable": { "value": true },
+ "retraction_count_max": { "value": 100 },
+ "retraction_extrusion_window": { "value": 10 },
+ "retraction_min_travel": { "value": 1.5 },
+
+ "cool_fan_full_at_height": { "value": "layer_height_0 + 2 * layer_height" },
+ "cool_fan_enabled": { "value": true },
+ "cool_min_layer_time": { "value": 10 },
+
+ "adhesion_type": { "value": "'skirt'" },
+ "brim_replaces_support": { "value": false },
+ "skirt_gap": { "value": 10.0 },
+ "skirt_line_count": { "value": 3 },
+
+ "adaptive_layer_height_variation": { "value": 0.04 },
+ "adaptive_layer_height_variation_step": { "value": 0.04 },
+
+ "meshfix_maximum_resolution": { "value": "0.25" },
+ "meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" },
+
+ "support_angle": { "value": "math.floor(math.degrees(math.atan(line_width/2.0/layer_height)))" },
+ "support_pattern": { "value": "'zigzag'" },
+ "support_infill_rate": { "value": "0 if support_enable and support_structure == 'tree' else 20" },
+ "support_use_towers": { "value": false },
+ "support_xy_distance": { "value": "wall_line_width_0 * 2" },
+ "support_xy_distance_overhang": { "value": "wall_line_width_0" },
+ "support_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height*2" },
+ "support_xy_overrides_z": { "value": "'xy_overrides_z'" },
+ "support_wall_count": { "value": 1 },
+ "support_brim_enable": { "value": true },
+ "support_brim_width": { "value": 4 },
+
+ "support_interface_enable": { "value": true },
+ "support_interface_height": { "value": "layer_height * 4" },
+ "support_interface_density": { "value": 33.333 },
+ "support_interface_pattern": { "value": "'grid'" },
+ "support_interface_skip_height": { "value": 0.2 },
+ "minimum_support_area": { "value": 10 },
+ "minimum_interface_area": { "value": 10 },
+ "top_bottom_thickness": {"value": "layer_height_0 + layer_height * 3" },
+ "wall_thickness": {"value": "line_width * 2" }
+
+ }
+}
+
diff --git a/resources/definitions/vivedino_trex2plus.def.json b/resources/definitions/vivedino_trex2plus.def.json
new file mode 100644
index 0000000000..51e5fafaed
--- /dev/null
+++ b/resources/definitions/vivedino_trex2plus.def.json
@@ -0,0 +1,34 @@
+{
+ "name": "Vivedino T-REX 2+",
+ "version": 2,
+ "inherits": "vivedino_base",
+ "overrides": {
+ "retraction_amount": { "value": "2" },
+ "machine_heat_zone_length": {"value": "10"},
+ "machine_extruder_count": { "default_value": 2 },
+ "machine_start_gcode": { "default_value": "T0\nG28 ; home all axes\nM420 S1\nG1 X-42 F8000\nG92 E0\nG1 E5 F500\nG1 X0 F5000\nG1 X-40\nG1 X0\nG1 X-40\nG1 X0\nG1 X-40\nG1 X200\nG1 Y200 F5000" },
+ "machine_end_gcode": { "default_value": "G28 X0 Y0\nM104 S0 T1 ; turn off extruder\nM104 S0 T0\nM140 S0 ; turn off bed\nG28 X0\nM106 P0 S0\nM106 P1 S0\nM84 S0\nM84 XYE; disable motors except Z"},
+ "machine_width": { "default_value": 400 },
+ "machine_depth": { "default_value": 400 },
+ "machine_height": { "default_value": 500 },
+ "machine_head_with_fans_polygon": { "default_value": [
+ [-30, 34],
+ [-30, -32],
+ [30, -32],
+ [30, 34]
+ ]
+ },
+
+ "gantry_height": { "value": 30 }
+
+ },
+ "metadata": {
+ "visible": true,
+ "quality_definition": "vivedino_trex2plus",
+ "platform": "vivedino_trex.stl",
+ "machine_extruder_trains": {
+ "0": "trex2_extruder_0",
+ "1": "trex2_extruder_1"
+ }
+ }
+} \ No newline at end of file
diff --git a/resources/definitions/vivedino_trex3.def.json b/resources/definitions/vivedino_trex3.def.json
new file mode 100644
index 0000000000..0195b94b54
--- /dev/null
+++ b/resources/definitions/vivedino_trex3.def.json
@@ -0,0 +1,34 @@
+{
+ "name": "Vivedino T-REX 3",
+ "version": 2,
+ "inherits": "vivedino_base",
+ "overrides": {
+ "retraction_amount": { "value": "2" },
+ "machine_heat_zone_length": {"value": "10"},
+ "machine_extruder_count": { "default_value": 2 },
+ "machine_start_gcode": { "default_value": "M605 S1 ; Set dual carriage mode S0 slicer full control | S1 AutoPark inactive head | S2 duplicate\nT0\nM106 P0 S[fan_speed_pwm]\nM106 P1 S[fan_speed_pwm]\nG28 ; home all axes\nM420 S1 ; Enable bed leveling compensation using current grid/mesh\nG1 X-42 F8000\nG92 E0\nG1 E5 F500\nG1 X0 F5000\nG1 X-40\nG1 X0\nG1 X-40\nG1 X0\nG1 X-40\nG1 X200\nG1 Y200 F5000\nT1\nG1 X440 F8000 ; park T0 head at X=440\nG92 E0 ; Zero extruder count" },
+ "machine_end_gcode": { "default_value": "G28 X0 Y0\nM104 S0 T1 ; turn off extruder\nM104 S0 T0\nM140 S0 ; turn off bed\nG28 X0\nM106 P0 S0\nM106 P1 S0\nM84 S0\nM84 XYE; disable motors except Z"},
+ "machine_width": { "default_value": 400 },
+ "machine_depth": { "default_value": 400 },
+ "machine_height": { "default_value": 500 },
+ "machine_head_with_fans_polygon": { "default_value": [
+ [-30, 34],
+ [-30, -32],
+ [30, -32],
+ [30, 34]
+ ]
+ },
+
+ "gantry_height": { "value": 30 }
+
+ },
+ "metadata": {
+ "visible": true,
+ "quality_definition": "vivedino_trex3",
+ "platform": "vivedino_trex.stl",
+ "machine_extruder_trains": {
+ "0": "trex_extruder_0",
+ "1": "trex_extruder_1"
+ }
+ }
+}
diff --git a/resources/extruders/trex2_extruder_0.def.json b/resources/extruders/trex2_extruder_0.def.json
new file mode 100644
index 0000000000..cd5e61530f
--- /dev/null
+++ b/resources/extruders/trex2_extruder_0.def.json
@@ -0,0 +1,25 @@
+{
+ "version": 2,
+ "name": "Left Extruder",
+ "inherits": "fdmextruder",
+ "metadata": {
+ "machine": "vivedino_trex2plus",
+ "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 },
+ "material_diameter": { "default_value": 1.75 },
+ "machine_extruder_start_code": {
+ "default_value": "G0 X-40"
+ },
+ "machine_extruder_end_code": {
+ "default_value": ""
+ }
+ }
+} \ No newline at end of file
diff --git a/resources/extruders/trex2_extruder_1.def.json b/resources/extruders/trex2_extruder_1.def.json
new file mode 100644
index 0000000000..73ffd7cada
--- /dev/null
+++ b/resources/extruders/trex2_extruder_1.def.json
@@ -0,0 +1,25 @@
+{
+ "version": 2,
+ "name": "Right Extruder",
+ "inherits": "fdmextruder",
+ "metadata": {
+ "machine": "vivedino_trex2plus",
+ "position": "1"
+ },
+
+ "overrides": {
+ "extruder_nr": {
+ "default_value": 1,
+ "maximum_value": "3"
+ },
+ "machine_nozzle_offset_x": { "default_value": 0.0 },
+ "machine_nozzle_offset_y": { "default_value": 0.0 },
+ "material_diameter": { "default_value": 1.75 },
+ "machine_extruder_start_code": {
+ "default_value": "G0 X438.2"
+ },
+ "machine_extruder_end_code": {
+ "default_value": ""
+ }
+ }
+} \ No newline at end of file
diff --git a/resources/extruders/trex_base_extruder_0.def.json b/resources/extruders/trex_base_extruder_0.def.json
new file mode 100644
index 0000000000..93feda7fa8
--- /dev/null
+++ b/resources/extruders/trex_base_extruder_0.def.json
@@ -0,0 +1,16 @@
+{
+ "version": 2,
+ "name": "Extruder 1",
+ "inherits": "fdmextruder",
+ "metadata": {
+ "machine": "vivedino_base",
+ "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/extruders/trex_extruder_0.def.json b/resources/extruders/trex_extruder_0.def.json
new file mode 100644
index 0000000000..7a3b5bfbdc
--- /dev/null
+++ b/resources/extruders/trex_extruder_0.def.json
@@ -0,0 +1,25 @@
+{
+ "version": 2,
+ "name": "Left Extruder",
+ "inherits": "fdmextruder",
+ "metadata": {
+ "machine": "vivedino_trex3",
+ "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 },
+ "material_diameter": { "default_value": 1.75 },
+ "machine_extruder_start_code": {
+ "default_value": "M106 P0 S[fan_speed_pwm]"
+ },
+ "machine_extruder_end_code": {
+ "default_value": "M106 P0 S0"
+ }
+ }
+} \ No newline at end of file
diff --git a/resources/extruders/trex_extruder_1.def.json b/resources/extruders/trex_extruder_1.def.json
new file mode 100644
index 0000000000..e0500e98bf
--- /dev/null
+++ b/resources/extruders/trex_extruder_1.def.json
@@ -0,0 +1,25 @@
+{
+ "version": 2,
+ "name": "Right Extruder",
+ "inherits": "fdmextruder",
+ "metadata": {
+ "machine": "vivedino_trex3",
+ "position": "1"
+ },
+
+ "overrides": {
+ "extruder_nr": {
+ "default_value": 1,
+ "maximum_value": "3"
+ },
+ "machine_nozzle_offset_x": { "default_value": 0.0 },
+ "machine_nozzle_offset_y": { "default_value": 0.0 },
+ "material_diameter": { "default_value": 1.75 },
+ "machine_extruder_start_code": {
+ "default_value": "M106 P1 S[fan_speed_pwm]"
+ },
+ "machine_extruder_end_code": {
+ "default_value": "M106 P1 S0"
+ }
+ }
+} \ No newline at end of file
diff --git a/resources/meshes/vivedino_trex.stl b/resources/meshes/vivedino_trex.stl
new file mode 100644
index 0000000000..d3948fb741
--- /dev/null
+++ b/resources/meshes/vivedino_trex.stl
Binary files differ
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.2_ABS_super.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.2_ABS_super.inst.cfg
new file mode 100644
index 0000000000..d0e03b31df
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.2_ABS_super.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_abs
+variant = 0.2mm Nozzle
+
+[values]
+wall_thickness = =line_width*8
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.2_ABS_ultra.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.2_ABS_ultra.inst.cfg
new file mode 100644
index 0000000000..8a1bb81ddf
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.2_ABS_ultra.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Ultra Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = ultra
+material = generic_abs
+variant = 0.2mm Nozzle
+
+[values]
+wall_thickness = =line_width*8
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.2_PETG_super.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.2_PETG_super.inst.cfg
new file mode 100644
index 0000000000..3f3af1cba3
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.2_PETG_super.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_petg
+variant = 0.2mm Nozzle
+
+[values]
+wall_thickness = =line_width*8
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.2_PETG_ultra.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.2_PETG_ultra.inst.cfg
new file mode 100644
index 0000000000..80d6cbfa98
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.2_PETG_ultra.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Ultra Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = ultra
+material = generic_petg
+variant = 0.2mm Nozzle
+
+[values]
+wall_thickness = =line_width*8
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.2_PLA_super.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.2_PLA_super.inst.cfg
new file mode 100644
index 0000000000..fb2bb5249e
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.2_PLA_super.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_pla
+variant = 0.2mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.2_PLA_ultra.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.2_PLA_ultra.inst.cfg
new file mode 100644
index 0000000000..d4a9f04992
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.2_PLA_ultra.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Ultra Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = ultra
+material = generic_pla
+variant = 0.2mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_adaptive.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_adaptive.inst.cfg
new file mode 100644
index 0000000000..97ca004da0
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_adaptive.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Dynamic Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = adaptive
+material = generic_abs
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_low.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_low.inst.cfg
new file mode 100644
index 0000000000..4464b01080
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_low.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Low Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = low
+material = generic_abs
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_standard.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_standard.inst.cfg
new file mode 100644
index 0000000000..5e3de6687f
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_standard.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_abs
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_super.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_super.inst.cfg
new file mode 100644
index 0000000000..48b0f5f40d
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_ABS_super.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_abs
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_adaptive.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_adaptive.inst.cfg
new file mode 100644
index 0000000000..61a530ba0d
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_adaptive.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Dynamic Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = adaptive
+material = generic_petg
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_low.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_low.inst.cfg
new file mode 100644
index 0000000000..f51dc3e9a0
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_low.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Low Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = low
+material = generic_petg
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_standard.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_standard.inst.cfg
new file mode 100644
index 0000000000..d0dc64e71d
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_standard.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_petg
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_super.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_super.inst.cfg
new file mode 100644
index 0000000000..617075605f
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PETG_super.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_petg
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_adaptive.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_adaptive.inst.cfg
new file mode 100644
index 0000000000..00a8389a8c
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_adaptive.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Dynamic Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = adaptive
+material = generic_pla
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_low.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_low.inst.cfg
new file mode 100644
index 0000000000..86af87febd
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_low.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Low Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = low
+material = generic_pla
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_standard.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_standard.inst.cfg
new file mode 100644
index 0000000000..12727a632f
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_standard.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_pla
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_super.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_super.inst.cfg
new file mode 100644
index 0000000000..17264fec62
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_PLA_super.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_pla
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_adaptive.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_adaptive.inst.cfg
new file mode 100644
index 0000000000..f181f00dc9
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_adaptive.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Dynamic Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = adaptive
+material = generic_tpu
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_standard.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_standard.inst.cfg
new file mode 100644
index 0000000000..34c85bf0dd
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_standard.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_tpu
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_super.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_super.inst.cfg
new file mode 100644
index 0000000000..4b37360d71
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.4_TPU_super.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_tpu
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.6_ABS_standard.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.6_ABS_standard.inst.cfg
new file mode 100644
index 0000000000..f4cb80adad
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.6_ABS_standard.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_abs
+variant = 0.6mm Nozzle
+
+[values]
+wall_thickness = =line_width*3
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.6_PETG_standard.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.6_PETG_standard.inst.cfg
new file mode 100644
index 0000000000..ae0fed32ea
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.6_PETG_standard.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_petg
+variant = 0.6mm Nozzle
+
+[values]
+wall_thickness = =line_width*3
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_draft.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_draft.inst.cfg
new file mode 100644
index 0000000000..3d14f320a8
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_draft.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+material = generic_pla
+variant = 0.6mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_low.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_low.inst.cfg
new file mode 100644
index 0000000000..9b71e8b7e2
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_low.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Low Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = low
+material = generic_pla
+variant = 0.6mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_standard.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_standard.inst.cfg
new file mode 100644
index 0000000000..e7ae450b0f
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.6_PLA_standard.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_pla
+variant = 0.6mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.6_TPU_standard.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.6_TPU_standard.inst.cfg
new file mode 100644
index 0000000000..94b3b1eebd
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.6_TPU_standard.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_tpu
+variant = 0.6mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.8_ABS_draft.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.8_ABS_draft.inst.cfg
new file mode 100644
index 0000000000..e22d57d926
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.8_ABS_draft.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+material = generic_abs
+variant = 0.8mm Nozzle
+
+[values]
+wall_thickness = =line_width*3
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.8_PETG_draft.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.8_PETG_draft.inst.cfg
new file mode 100644
index 0000000000..5a6c83a994
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.8_PETG_draft.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+material = generic_petg
+variant = 0.8mm Nozzle
+
+[values]
+wall_thickness = =line_width*3
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.8_PLA_draft.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.8_PLA_draft.inst.cfg
new file mode 100644
index 0000000000..1afcc49719
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.8_PLA_draft.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+material = generic_pla
+variant = 0.8mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_0.8_TPU_draft.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_0.8_TPU_draft.inst.cfg
new file mode 100644
index 0000000000..4abefcaab1
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_0.8_TPU_draft.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+material = generic_tpu
+variant = 0.8mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_global_adaptive.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_global_adaptive.inst.cfg
new file mode 100644
index 0000000000..04b07a4531
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_global_adaptive.inst.cfg
@@ -0,0 +1,19 @@
+[general]
+version = 4
+name = Dynamic Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = adaptive
+weight = -2
+global_quality = True
+
+[values]
+layer_height = 0.16
+layer_height_0 = 0.20
+top_bottom_thickness = =layer_height_0+layer_height*4
+wall_thickness = =line_width*3
+support_interface_height = =layer_height*6
+adaptive_layer_height_enabled = true
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_global_draft.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_global_draft.inst.cfg
new file mode 100644
index 0000000000..3148f01991
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_global_draft.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+weight = -5
+global_quality = True
+
+[values]
+layer_height = 0.32
+layer_height_0 = 0.32
+top_bottom_thickness = =layer_height_0+layer_height*3
+wall_thickness = =line_width*2
+support_interface_height = =layer_height*4
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_global_low.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_global_low.inst.cfg
new file mode 100644
index 0000000000..7744e8d2aa
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_global_low.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+version = 4
+name = Low Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = low
+weight = -4
+global_quality = True
+
+[values]
+layer_height = 0.28
+layer_height_0 = 0.28
+top_bottom_thickness = =layer_height_0+layer_height*3
+wall_thickness = =line_width*2
+support_interface_height = =layer_height*4
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_global_standard.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_global_standard.inst.cfg
new file mode 100644
index 0000000000..9fe9ae3690
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_global_standard.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+weight = -3
+global_quality = True
+
+[values]
+layer_height = 0.2
+layer_height_0 = 0.2
+top_bottom_thickness = =layer_height_0+layer_height*3
+wall_thickness = =line_width*3
+support_interface_height = =layer_height*5
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_global_super.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_global_super.inst.cfg
new file mode 100644
index 0000000000..0d241f665d
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_global_super.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+weight = -1
+global_quality = True
+
+[values]
+layer_height = 0.12
+layer_height_0 = 0.12
+top_bottom_thickness = =layer_height_0+layer_height*6
+wall_thickness = =line_width*3
+support_interface_height = =layer_height*8
diff --git a/resources/quality/vivedino/trex2plus/trex2plus_global_ultra.inst.cfg b/resources/quality/vivedino/trex2plus/trex2plus_global_ultra.inst.cfg
new file mode 100644
index 0000000000..4a96facafd
--- /dev/null
+++ b/resources/quality/vivedino/trex2plus/trex2plus_global_ultra.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+version = 4
+name = Ultra Quality
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = ultra
+weight = 0
+global_quality = True
+
+[values]
+layer_height = 0.08
+layer_height_0 = 0.12
+top_bottom_thickness = =layer_height_0+layer_height*10
+wall_thickness = =line_width*3
+support_interface_height = =layer_height*12
diff --git a/resources/quality/vivedino/trex3/trex3_0.2_ABS_super.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.2_ABS_super.inst.cfg
new file mode 100644
index 0000000000..ed048f9872
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.2_ABS_super.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_abs
+variant = 0.2mm Nozzle
+
+[values]
+wall_thickness = =line_width*8
diff --git a/resources/quality/vivedino/trex3/trex3_0.2_ABS_ultra.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.2_ABS_ultra.inst.cfg
new file mode 100644
index 0000000000..039eb6dea1
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.2_ABS_ultra.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Ultra Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = ultra
+material = generic_abs
+variant = 0.2mm Nozzle
+
+[values]
+wall_thickness = =line_width*8
diff --git a/resources/quality/vivedino/trex3/trex3_0.2_PETG_super.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.2_PETG_super.inst.cfg
new file mode 100644
index 0000000000..f60fea4543
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.2_PETG_super.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_petg
+variant = 0.2mm Nozzle
+
+[values]
+wall_thickness = =line_width*8
diff --git a/resources/quality/vivedino/trex3/trex3_0.2_PETG_ultra.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.2_PETG_ultra.inst.cfg
new file mode 100644
index 0000000000..bd7930b7c7
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.2_PETG_ultra.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Ultra Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = ultra
+material = generic_petg
+variant = 0.2mm Nozzle
+
+[values]
+wall_thickness = =line_width*8
diff --git a/resources/quality/vivedino/trex3/trex3_0.2_PLA_super.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.2_PLA_super.inst.cfg
new file mode 100644
index 0000000000..30297aecd4
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.2_PLA_super.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_pla
+variant = 0.2mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.2_PLA_ultra.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.2_PLA_ultra.inst.cfg
new file mode 100644
index 0000000000..caec260960
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.2_PLA_ultra.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Ultra Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = ultra
+material = generic_pla
+variant = 0.2mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_ABS_adaptive.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_ABS_adaptive.inst.cfg
new file mode 100644
index 0000000000..9135a830d4
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_ABS_adaptive.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Dynamic Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = adaptive
+material = generic_abs
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_ABS_low.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_ABS_low.inst.cfg
new file mode 100644
index 0000000000..6b5ef559a6
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_ABS_low.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Low Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = low
+material = generic_abs
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_ABS_standard.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_ABS_standard.inst.cfg
new file mode 100644
index 0000000000..a2fd6bba16
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_ABS_standard.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_abs
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_ABS_super.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_ABS_super.inst.cfg
new file mode 100644
index 0000000000..2994fe732f
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_ABS_super.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_abs
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_PETG_adaptive.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_PETG_adaptive.inst.cfg
new file mode 100644
index 0000000000..0fa51595da
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_PETG_adaptive.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Dynamic Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = adaptive
+material = generic_petg
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_PETG_low.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_PETG_low.inst.cfg
new file mode 100644
index 0000000000..26e5b7d1f2
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_PETG_low.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Low Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = low
+material = generic_petg
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_PETG_standard.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_PETG_standard.inst.cfg
new file mode 100644
index 0000000000..add2f22260
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_PETG_standard.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_petg
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_PETG_super.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_PETG_super.inst.cfg
new file mode 100644
index 0000000000..207440adf2
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_PETG_super.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_petg
+variant = 0.4mm Nozzle
+
+[values]
+wall_thickness = =line_width*4
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_PLA_adaptive.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_PLA_adaptive.inst.cfg
new file mode 100644
index 0000000000..30bad08395
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_PLA_adaptive.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Dynamic Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = adaptive
+material = generic_pla
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_PLA_low.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_PLA_low.inst.cfg
new file mode 100644
index 0000000000..96d463e842
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_PLA_low.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Low Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = low
+material = generic_pla
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_PLA_standard.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_PLA_standard.inst.cfg
new file mode 100644
index 0000000000..70b82c4677
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_PLA_standard.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_pla
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_PLA_super.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_PLA_super.inst.cfg
new file mode 100644
index 0000000000..6b35fb50e3
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_PLA_super.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_pla
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_TPU_adaptive.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_TPU_adaptive.inst.cfg
new file mode 100644
index 0000000000..74b934544e
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_TPU_adaptive.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Dynamic Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = adaptive
+material = generic_tpu
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_TPU_standard.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_TPU_standard.inst.cfg
new file mode 100644
index 0000000000..59fcf5b7a8
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_TPU_standard.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_tpu
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.4_TPU_super.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.4_TPU_super.inst.cfg
new file mode 100644
index 0000000000..b3761f3303
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.4_TPU_super.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+material = generic_tpu
+variant = 0.4mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.6_ABS_standard.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.6_ABS_standard.inst.cfg
new file mode 100644
index 0000000000..dcf63a7a78
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.6_ABS_standard.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_abs
+variant = 0.6mm Nozzle
+
+[values]
+wall_thickness = =line_width*3
diff --git a/resources/quality/vivedino/trex3/trex3_0.6_PETG_standard.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.6_PETG_standard.inst.cfg
new file mode 100644
index 0000000000..369ae7548b
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.6_PETG_standard.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_petg
+variant = 0.6mm Nozzle
+
+[values]
+wall_thickness = =line_width*3
diff --git a/resources/quality/vivedino/trex3/trex3_0.6_PLA_draft.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.6_PLA_draft.inst.cfg
new file mode 100644
index 0000000000..af53dd7e84
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.6_PLA_draft.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+material = generic_pla
+variant = 0.6mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.6_PLA_low.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.6_PLA_low.inst.cfg
new file mode 100644
index 0000000000..73e8b30015
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.6_PLA_low.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Low Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = low
+material = generic_pla
+variant = 0.6mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.6_PLA_standard.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.6_PLA_standard.inst.cfg
new file mode 100644
index 0000000000..e0a14cd67d
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.6_PLA_standard.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_pla
+variant = 0.6mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.6_TPU_standard.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.6_TPU_standard.inst.cfg
new file mode 100644
index 0000000000..b00069db6e
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.6_TPU_standard.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+material = generic_tpu
+variant = 0.6mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.8_ABS_draft.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.8_ABS_draft.inst.cfg
new file mode 100644
index 0000000000..24cdc8c0b1
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.8_ABS_draft.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+material = generic_abs
+variant = 0.8mm Nozzle
+
+[values]
+wall_thickness = =line_width*3
diff --git a/resources/quality/vivedino/trex3/trex3_0.8_PETG_draft.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.8_PETG_draft.inst.cfg
new file mode 100644
index 0000000000..6ec842a208
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.8_PETG_draft.inst.cfg
@@ -0,0 +1,14 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+material = generic_petg
+variant = 0.8mm Nozzle
+
+[values]
+wall_thickness = =line_width*3
diff --git a/resources/quality/vivedino/trex3/trex3_0.8_PLA_draft.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.8_PLA_draft.inst.cfg
new file mode 100644
index 0000000000..ded23be5b3
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.8_PLA_draft.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+material = generic_pla
+variant = 0.8mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_0.8_TPU_draft.inst.cfg b/resources/quality/vivedino/trex3/trex3_0.8_TPU_draft.inst.cfg
new file mode 100644
index 0000000000..be3a154dc3
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_0.8_TPU_draft.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+material = generic_tpu
+variant = 0.8mm Nozzle
+
+[values]
diff --git a/resources/quality/vivedino/trex3/trex3_global_adaptive.inst.cfg b/resources/quality/vivedino/trex3/trex3_global_adaptive.inst.cfg
new file mode 100644
index 0000000000..f63ac1f0d4
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_global_adaptive.inst.cfg
@@ -0,0 +1,19 @@
+[general]
+version = 4
+name = Dynamic Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = adaptive
+weight = -2
+global_quality = True
+
+[values]
+layer_height = 0.16
+layer_height_0 = 0.20
+top_bottom_thickness = =layer_height_0+layer_height*4
+wall_thickness = =line_width*3
+support_interface_height = =layer_height*6
+adaptive_layer_height_enabled = true
diff --git a/resources/quality/vivedino/trex3/trex3_global_draft.inst.cfg b/resources/quality/vivedino/trex3/trex3_global_draft.inst.cfg
new file mode 100644
index 0000000000..ff177c9558
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_global_draft.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+version = 4
+name = Draft Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = draft
+weight = -5
+global_quality = True
+
+[values]
+layer_height = 0.32
+layer_height_0 = 0.32
+top_bottom_thickness = =layer_height_0+layer_height*3
+wall_thickness = =line_width*2
+support_interface_height = =layer_height*4
diff --git a/resources/quality/vivedino/trex3/trex3_global_low.inst.cfg b/resources/quality/vivedino/trex3/trex3_global_low.inst.cfg
new file mode 100644
index 0000000000..d31c5f1d2a
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_global_low.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+version = 4
+name = Low Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = low
+weight = -4
+global_quality = True
+
+[values]
+layer_height = 0.28
+layer_height_0 = 0.28
+top_bottom_thickness = =layer_height_0+layer_height*3
+wall_thickness = =line_width*2
+support_interface_height = =layer_height*4
diff --git a/resources/quality/vivedino/trex3/trex3_global_standard.inst.cfg b/resources/quality/vivedino/trex3/trex3_global_standard.inst.cfg
new file mode 100644
index 0000000000..87b65dff16
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_global_standard.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+version = 4
+name = Standard Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = standard
+weight = -3
+global_quality = True
+
+[values]
+layer_height = 0.2
+layer_height_0 = 0.2
+top_bottom_thickness = =layer_height_0+layer_height*3
+wall_thickness = =line_width*3
+support_interface_height = =layer_height*5
diff --git a/resources/quality/vivedino/trex3/trex3_global_super.inst.cfg b/resources/quality/vivedino/trex3/trex3_global_super.inst.cfg
new file mode 100644
index 0000000000..e6bbb381f3
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_global_super.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+version = 4
+name = Super Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = super
+weight = -1
+global_quality = True
+
+[values]
+layer_height = 0.12
+layer_height_0 = 0.12
+top_bottom_thickness = =layer_height_0+layer_height*6
+wall_thickness = =line_width*3
+support_interface_height = =layer_height*8
diff --git a/resources/quality/vivedino/trex3/trex3_global_ultra.inst.cfg b/resources/quality/vivedino/trex3/trex3_global_ultra.inst.cfg
new file mode 100644
index 0000000000..950be6eb57
--- /dev/null
+++ b/resources/quality/vivedino/trex3/trex3_global_ultra.inst.cfg
@@ -0,0 +1,18 @@
+[general]
+version = 4
+name = Ultra Quality
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = quality
+quality_type = ultra
+weight = 0
+global_quality = True
+
+[values]
+layer_height = 0.08
+layer_height_0 = 0.12
+top_bottom_thickness = =layer_height_0+layer_height*10
+wall_thickness = =line_width*3
+support_interface_height = =layer_height*12
diff --git a/resources/variants/vivedino_trex2plus_0.2.inst.cfg b/resources/variants/vivedino_trex2plus_0.2.inst.cfg
new file mode 100644
index 0000000000..46e57a05a3
--- /dev/null
+++ b/resources/variants/vivedino_trex2plus_0.2.inst.cfg
@@ -0,0 +1,12 @@
+[general]
+name = 0.2mm Nozzle
+version = 4
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = variant
+hardware_type = nozzle
+
+[values]
+machine_nozzle_size = 0.2
diff --git a/resources/variants/vivedino_trex2plus_0.4.inst.cfg b/resources/variants/vivedino_trex2plus_0.4.inst.cfg
new file mode 100644
index 0000000000..c112d64b37
--- /dev/null
+++ b/resources/variants/vivedino_trex2plus_0.4.inst.cfg
@@ -0,0 +1,12 @@
+[general]
+name = 0.4mm Nozzle
+version = 4
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = variant
+hardware_type = nozzle
+
+[values]
+machine_nozzle_size = 0.4
diff --git a/resources/variants/vivedino_trex2plus_0.6.inst.cfg b/resources/variants/vivedino_trex2plus_0.6.inst.cfg
new file mode 100644
index 0000000000..94f19996a8
--- /dev/null
+++ b/resources/variants/vivedino_trex2plus_0.6.inst.cfg
@@ -0,0 +1,12 @@
+[general]
+name = 0.6mm Nozzle
+version = 4
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = variant
+hardware_type = nozzle
+
+[values]
+machine_nozzle_size = 0.6 \ No newline at end of file
diff --git a/resources/variants/vivedino_trex2plus_0.8.inst.cfg b/resources/variants/vivedino_trex2plus_0.8.inst.cfg
new file mode 100644
index 0000000000..a7ee120bb5
--- /dev/null
+++ b/resources/variants/vivedino_trex2plus_0.8.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+name = 0.8mm Nozzle
+version = 4
+definition = vivedino_trex2plus
+
+[metadata]
+setting_version = 19
+type = variant
+hardware_type = nozzle
+
+[values]
+machine_nozzle_size = 0.8
+
diff --git a/resources/variants/vivedino_trex3_0.2.inst.cfg b/resources/variants/vivedino_trex3_0.2.inst.cfg
new file mode 100644
index 0000000000..c46402726f
--- /dev/null
+++ b/resources/variants/vivedino_trex3_0.2.inst.cfg
@@ -0,0 +1,12 @@
+[general]
+name = 0.2mm Nozzle
+version = 4
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = variant
+hardware_type = nozzle
+
+[values]
+machine_nozzle_size = 0.2
diff --git a/resources/variants/vivedino_trex3_0.4.inst.cfg b/resources/variants/vivedino_trex3_0.4.inst.cfg
new file mode 100644
index 0000000000..5d13cc9403
--- /dev/null
+++ b/resources/variants/vivedino_trex3_0.4.inst.cfg
@@ -0,0 +1,12 @@
+[general]
+name = 0.4mm Nozzle
+version = 4
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = variant
+hardware_type = nozzle
+
+[values]
+machine_nozzle_size = 0.4
diff --git a/resources/variants/vivedino_trex3_0.6.inst.cfg b/resources/variants/vivedino_trex3_0.6.inst.cfg
new file mode 100644
index 0000000000..b4e1af2ae0
--- /dev/null
+++ b/resources/variants/vivedino_trex3_0.6.inst.cfg
@@ -0,0 +1,12 @@
+[general]
+name = 0.6mm Nozzle
+version = 4
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = variant
+hardware_type = nozzle
+
+[values]
+machine_nozzle_size = 0.6 \ No newline at end of file
diff --git a/resources/variants/vivedino_trex3_0.8.inst.cfg b/resources/variants/vivedino_trex3_0.8.inst.cfg
new file mode 100644
index 0000000000..c23c13bfa9
--- /dev/null
+++ b/resources/variants/vivedino_trex3_0.8.inst.cfg
@@ -0,0 +1,13 @@
+[general]
+name = 0.8mm Nozzle
+version = 4
+definition = vivedino_trex3
+
+[metadata]
+setting_version = 19
+type = variant
+hardware_type = nozzle
+
+[values]
+machine_nozzle_size = 0.8
+