diff --git a/resources/definitions/tank_m3.def.json b/resources/definitions/tank_m3.def.json new file mode 100644 index 0000000000..9a65397a64 --- /dev/null +++ b/resources/definitions/tank_m3.def.json @@ -0,0 +1,25 @@ +{ + "name": "Tank M3", + "version": 2, + "inherits": "tank_m_base", + "overrides": { + "machine_name": { "default_value": "Tank M3" }, + "machine_width": { "default_value": 235 }, + "machine_depth": { "default_value": 235 }, + "machine_height": { "default_value": 250 }, + "machine_head_with_fans_polygon": { "default_value": [ + [-26, 34], + [-26, -32], + [32, -32], + [32, 34] + ] + }, + + "gantry_height": { "value": 0 } + + }, + "metadata": { + "quality_definition": "tank_m_base", + "visible": true + } +} diff --git a/resources/definitions/tank_m3_max.def.json b/resources/definitions/tank_m3_max.def.json new file mode 100644 index 0000000000..ef271dc2f5 --- /dev/null +++ b/resources/definitions/tank_m3_max.def.json @@ -0,0 +1,24 @@ +{ + "name": "Tank M3 Max", + "version": 2, + "inherits": "tank_m_base", + "overrides": { + "machine_name": { "default_value": "Tank M3 Max" }, + "machine_width": { "default_value": 310 }, + "machine_depth": { "default_value": 310 }, + "machine_height": { "default_value": 400 }, + "machine_head_with_fans_polygon": { "default_value": [ + [-26, 34], + [-26, -32], + [32, -32], + [32, 34] + ] + }, + + "gantry_height": { "value": 0 } + }, + "metadata": { + "quality_definition": "tank_m_base", + "visible": true + } +} diff --git a/resources/definitions/tank_m_base.def.json b/resources/definitions/tank_m_base.def.json new file mode 100644 index 0000000000..e4f465d39e --- /dev/null +++ b/resources/definitions/tank_m_base.def.json @@ -0,0 +1,124 @@ +{ + "name": "tank_m Base Printer", + "version": 2, + "inherits": "fdmprinter", + "metadata": { + "visible": false, + "author": "tank_m", + "manufacturer": "tank_m", + "file_formats": "text/x-gcode", + "platform": "tank_m.obj", + "platform_texture": "tank_m.png", + + "first_start_actions": [ "MachineSettingsAction" ], + "machine_extruder_trains": {"0": "tank_m_base_extruder_0"}, + + "has_materials": true, + "has_machine_quality": true, + + + "preferred_quality_type": "standard", + "preferred_material": "generic_pla" + }, + + + "overrides": { + "machine_start_gcode": { + "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;Move to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nM117 Printing..." + }, + "machine_end_gcode": { + "default_value": "M104 T0 S0 ;1st extruder heater off\nM104 T1 S0 ;2nd extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" + }, + + "machine_max_feedrate_x": { "value": 500 }, + "machine_max_feedrate_y": { "value": 500 }, + "machine_max_feedrate_z": { "value": 50 }, + "machine_max_feedrate_e": { "value": 500 }, + + "machine_max_acceleration_x": { "value": 2500 }, + "machine_max_acceleration_y": { "value": 2500 }, + "machine_max_acceleration_z": { "value": 100 }, + "machine_max_acceleration_e": { "value": 2000 }, + "machine_acceleration": { "value": 2500 }, + + "machine_heated_bed": { "default_value": true }, + + "material_diameter": { "default_value": 1.75 }, + + + "acceleration_print": { "value": 2500 }, + "acceleration_travel": { "value": 2500 }, + + "line_width": { "value": "machine_nozzle_size" }, + + "wall_thickness": {"value": "line_width * 2" }, + + "top_bottom_thickness": {"value": "layer_height_0 + layer_height * 3" }, + + "infill_sparse_density": { "value": "15" }, + "infill_pattern": { "value": "'lines' if infill_sparse_density > 50 else 'cubic'" }, + + "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": "material_print_temperature" }, + "material_bed_temperature": { "value": "55" }, + "material_bed_temperature_layer_0": { "value": "material_bed_temperature" }, + "material_flow": { "value": 100 }, + "material_standby_temperature": { "value": "material_print_temperature" }, + + + "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_travel": { "value": "120.0 if speed_print < 60 else 300.0 if speed_print > 100 else speed_print * 2.2" }, + "speed_layer_0": { "value": 25.0 }, + "speed_print_layer_0": { "value": "speed_layer_0" }, + "speed_travel_layer_0": { "value": "100 if speed_layer_0 < 25 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_z_hop": { "value": 5 }, + + "retraction_enable": { "value": true }, + "retraction_amount": { "value": 1.0 }, + "retraction_speed": { "value": 40 }, + + "cool_fan_full_at_height": { "value": "layer_height_0 + 2 * layer_height" }, + "cool_fan_enabled": { "value": true }, + "cool_min_layer_time": { "value": 10 }, + + + "support_brim_enable": { "value": true }, + "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_width": { "value": 4 }, + + "support_enable": { "value": true }, + "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": 2 }, + "minimum_interface_area": { "value": 10 }, + + "fill_outline_gaps": { "value": false }, + + "adhesion_type": { "value": "'skirt'" }, + "brim_replaces_support": { "value": false }, + "skirt_gap": { "value": 6.0 }, + "skirt_line_count": { "value": 3 } + + + } +} diff --git a/resources/extruders/tank_m_base_extruder_0.def.json b/resources/extruders/tank_m_base_extruder_0.def.json new file mode 100644 index 0000000000..64bafe97d2 --- /dev/null +++ b/resources/extruders/tank_m_base_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "name": "Extruder 0", + "inherits": "fdmextruder", + "metadata": { + "machine": "tank_m_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/images/tank_m.png b/resources/images/tank_m.png new file mode 100644 index 0000000000..b5c93afc5a Binary files /dev/null and b/resources/images/tank_m.png differ diff --git a/resources/meshes/tank_m.obj b/resources/meshes/tank_m.obj new file mode 100644 index 0000000000..c84c1e3efa --- /dev/null +++ b/resources/meshes/tank_m.obj @@ -0,0 +1,60 @@ +v 200 200 0 +v 200 -200 0 +v 200 -200 -4 +v 200 200 -4 +v -200 200 0 +v -200 200 -4 +v -200 -200 0 +v -200 -200 -4 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 1 +vt 0 0 +vt 1 0 +vt 0 1 +vt 1 1 +vt 0 0 +vt 1 0 +vt 0 1 +vt 1 1 +f 1/1 2/2 4/3 +f 4/3 2/2 3/4 +f 5/5 1/6 6/7 +f 6/7 1/6 4/8 +f 7/9 5/10 8/11 +f 8/11 5/10 6/12 +f 2/13 7/14 3/15 +f 3/15 7/14 8/16 +f 6/21 4/22 3/24 8/23 +v -50 270.7 70.7 +v 50 270.7 70.7 +v 50 200 0 +v -50 200 0 +v -50 270.7 66.7 +v 50 270.7 66.7 +v 50 200 -4 +v -50 200 -4 +vt 0 1 +vt 0 0 +vt 1 0 +vt 1 1 +vt 0 1 +f 10/1 11/2 15/3 14/4 +f 9/4 10/8 14/7 13/8 +f 12/9 9/10 13/11 16/12 +f 11/13 12/14 16/15 15/16 +f 12/26 11/27 10/28 9/25 +f 13/13 14/14 15/15 16/16 \ No newline at end of file diff --git a/resources/quality/tank_m_base_global_draft.inst.cfg b/resources/quality/tank_m_base_global_draft.inst.cfg new file mode 100644 index 0000000000..cd5d1a23c0 --- /dev/null +++ b/resources/quality/tank_m_base_global_draft.inst.cfg @@ -0,0 +1,17 @@ +[general] +version = 4 +name = Draft Quality +definition = tank_m_base + +[metadata] +setting_version = 20 +type = quality +quality_type = draft +global_quality = True + +[values] +layer_height = 0.24 +layer_height_0 = 0.24 +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/tank_m_base_global_high.inst.cfg b/resources/quality/tank_m_base_global_high.inst.cfg new file mode 100644 index 0000000000..26af4239b1 --- /dev/null +++ b/resources/quality/tank_m_base_global_high.inst.cfg @@ -0,0 +1,18 @@ +[general] +version = 4 +name = Super Quality +definition = tank_m_base + +[metadata] +setting_version = 20 +type = quality +quality_type = high +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/tank_m_base_global_standard.inst.cfg b/resources/quality/tank_m_base_global_standard.inst.cfg new file mode 100644 index 0000000000..eb7984c7ec --- /dev/null +++ b/resources/quality/tank_m_base_global_standard.inst.cfg @@ -0,0 +1,18 @@ +[general] +version = 4 +name = Standard Quality +definition = tank_m_base + +[metadata] +setting_version = 20 +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*2 +support_interface_height = =layer_height*4