diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py index 7978c0cdba..6fe4d4242b 100644 --- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py +++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py @@ -465,7 +465,7 @@ class XmlMaterialProfile(InstanceContainer): return "materials" @classmethod - def getVersionFromSerialized(cls, serialized: str) -> Optional[int]: + def getVersionFromSerialized(cls, serialized: str) -> int: data = ET.fromstring(serialized) version = XmlMaterialProfile.Version diff --git a/resources/definitions/SV01.def.json b/resources/definitions/SV01.def.json new file mode 100644 index 0000000000..fb410151a9 --- /dev/null +++ b/resources/definitions/SV01.def.json @@ -0,0 +1,70 @@ +{ + "version": 2, + "name": "Sovol-SV01", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Sovol", + "manufacturer": "Sovol 3D", + "file_formats": "text/x-gcode", + "has_variants": false, + "has_machine_quality": false, + "preferred_quality_type": "draft", + "machine_extruder_trains": { + "0": "SV01_extruder_0" + } + }, + + "overrides": { + "machine_name": { "default_value": "SV01" }, + "machine_extruder_count": { "default_value": 1 }, + "machine_width": { "default_value": 280 }, + "machine_depth": { "default_value": 260 }, + "machine_height": { "default_value": 300 }, + "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" }, + "skirt_brim_speed": { "value": "speed_layer_0" }, + "line_width": { "value": "machine_nozzle_size" }, + "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'" }, + "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 }, + "retraction_amount": { "default_value": 3}, + "retraction_speed": { "default_value": 50}, + "adhesion_type": { "value": "'skirt'" }, + "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 X0 Y240 F3000 ;Wipe out\nG1 Z10 ;Raise Z more\nG90 ;Absolute positionning\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" } + } +} \ No newline at end of file diff --git a/resources/definitions/SV02.def.json b/resources/definitions/SV02.def.json new file mode 100644 index 0000000000..067422354e --- /dev/null +++ b/resources/definitions/SV02.def.json @@ -0,0 +1,86 @@ +{ + "version": 2, + "name": "Sovol-SV02", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Sovol", + "manufacturer": "Sovol 3D", + "file_formats": "text/x-gcode", + "has_variants": false, + "has_machine_quality": false, + "preferred_quality_type": "draft", + "machine_extruder_trains": { + "0": "SV02_extruder_0", + "1": "SV02_extruder_1" + } + }, + + "overrides": { + "machine_name": { "default_value": "SV02" }, + "machine_extruder_count": { "default_value": 2 }, + "machine_heated_bed": { "default_value": true }, + "machine_width": { "default_value": 300 }, + "machine_depth": { "default_value": 250 }, + "machine_height": { "default_value": 300 }, + "machine_center_is_zero": { "default_value": false }, + "retraction_amount": { "default_value": 5}, + "retraction_speed": { "default_value": 50}, + "gantry_height": { "value": "30" }, + "speed_print": { "default_value": 50 }, + "material_print_temperature": { "value": 195 }, + "material_print_temperature_layer_0": { "value": "material_print_temperature" }, + "material_initial_print_temperature": { "value": "material_print_temperature" }, + "material_final_print_temperature": { "value": 195 }, + "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": 500 }, + "machine_acceleration": { "value": 500 }, + "machine_max_jerk_xy": { "value": 8 }, + "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 }, + "infill_overlap": { "default_value": 15 }, + "acceleration_print": { "value": 500 }, + "acceleration_travel": { "value": 500 }, + "acceleration_travel_layer_0": { "value": "acceleration_travel" }, + "jerk_print": { "value": 8 }, + "jerk_travel": { "value": "jerk_print" }, + "jerk_travel_layer_0": { "value": "jerk_travel" }, + "acceleration_enabled": { "value": false }, + "jerk_enabled": { "value": false }, + "machine_max_jerk_xy": { "default_value": 5.0 }, + "machine_max_jerk_z": { "default_value": 0.4 }, + "machine_max_jerk_e": { "default_value": 5.0 }, + "prime_tower_position_x": { "value": "240" }, + "prime_tower_position_y": { "value": "190" }, + "prime_tower_size": { "value": "30" }, + "prime_tower_wipe_enabled": { "default_value": true }, + "prime_tower_min_volume": { "value": "((resolveOrValue('prime_tower_size') * 0.5) ** 2 * 3.14159 * resolveOrValue('layer_height'))/2"}, + "travel_retract_before_outer_wall": { "default_value": true }, + "infill_sparse_density": { "value": "15" }, + "infill_pattern": { "value": "'lines'" }, + "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 }, + "adhesion_type": { "value": "'skirt'" }, + "brim_replaces_support": { "value": false }, + "skirt_gap": { "value": 2 }, + "skirt_line_count": { "value": 3 }, + "adhesion_extruder_nr": { "value": 1 }, + "brim_width": { "value": 4 }, + "coasting_enable": { "default_value": true }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + "machine_start_gcode": { "default_value": "G21 ;metric values\nG28 ;home all\nG90 ;absolute positioning\nM107 ;start with the fan off\nG1 F2400 Z15.0 ;raise the nozzle 15mm\nM109 S{material_print_temperature} ;Set Extruder Temperature and Wait\nM190 S{material_bed_temperature}; Wait for bed temperature to reach target temp\nT0 ;Switch to Extruder 1\nG1 F3000 X5 Y10 Z0.2 ;move to prime start position\nG92 E0 ;reset extrusion distance\nG1 F600 X160 E5 ;prime nozzle in a line\nG1 F5000 X180 ;quick wipe\nG92 E0 ;reset extrusion distance" }, + "machine_end_gcode": { "default_value": "M104 S0 ;hotend off\nM140 S0 ;bed off\nG92 E0\nG1 F2000 E-100 ;retract filament 100mm\nG92 E0\nG1 F3000 X0 Y240 ;move bed for easy part removal\nM84 ;disable steppers" }, + "top_bottom_thickness": { "default_value": 1 } + } +} diff --git a/resources/extruders/SV01_extruder_0.def.json b/resources/extruders/SV01_extruder_0.def.json new file mode 100644 index 0000000000..1620eb0b1d --- /dev/null +++ b/resources/extruders/SV01_extruder_0.def.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "SV01", + "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/SV02_extruder_0.def.json b/resources/extruders/SV02_extruder_0.def.json new file mode 100644 index 0000000000..073242f2bd --- /dev/null +++ b/resources/extruders/SV02_extruder_0.def.json @@ -0,0 +1,26 @@ +{ + "version": 2, + "name": "Left Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "SV02", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, + "material_diameter": { "default_value": 1.75 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "machine_extruder_start_code": { + "default_value": "\nT0 ;switch to extruder 1\nG92 E0 ;reset extruder distance\nG1 F2000 E93 ;load filament\nG92 E0 ;reset extruder distance\nM104 S{material_print_temperature}" + }, + "machine_extruder_end_code": { + "default_value": "\nG92 E0 ;reset extruder distance\nG1 F800 E-5 ;short retract\nG1 F2400 X250 Y220\nG1 F2000 E-93 ;long retract for filament removal\nG92 E0 ;reset extruder distance\nG90" + } + } +} diff --git a/resources/extruders/SV02_extruder_1.def.json b/resources/extruders/SV02_extruder_1.def.json new file mode 100644 index 0000000000..41ede774df --- /dev/null +++ b/resources/extruders/SV02_extruder_1.def.json @@ -0,0 +1,26 @@ +{ + "version": 2, + "name": "Right Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "SV02", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0.0 }, + "machine_nozzle_offset_y": { "default_value": 0.0 }, + "material_diameter": { "default_value": 1.75 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "machine_extruder_start_code": { + "default_value": "\nT1 ;switch to extruder 2\nG92 E0 ;reset extruder distance\nG1 F2000 E93 ;load filament\nG92 E0 ;reset extruder distance\nM104 S{material_print_temperature}" + }, + "machine_extruder_end_code": { + "default_value": "\nG92 E0 ;reset extruder distance\nG1 F800 E-5 ;short retract\nG1 F2400 X250 Y220\nG1 F2000 E-93 ;long retract for filament removal\nG92 E0 ;reset extruder distance\nG90" + } + } +}