diff --git a/doc/pellet-flow-coefficient.md b/doc/pellet-flow-coefficient.md new file mode 100644 index 000000000..8e91312ad --- /dev/null +++ b/doc/pellet-flow-coefficient.md @@ -0,0 +1,23 @@ +Large format printers with print volumes in the order of 1m^3 generally use pellets for printing. +The overall tech is very similar to FDM printing. +It is FDM printing, but instead of filaments, it uses pellets. + +The difference here is that where filaments have a filament_diameter that is used to calculate +the volume of filament ingested, pellets have a particular flow_coefficient that is empirically +devised for that particular pellet. + +pellet_flow_coefficient is basically a measure of the packing density of a particular pellet. +Shape, material and density of an individual pellet will determine the packing density and +the only thing that matters for 3d printing is how much of that pellet material is extruded by +one turn of whatever feeding mehcanism/gear your printer uses. You can emperically derive that +for your own pellets for a particular printer model. + +We are translating the pellet_flow_coefficient into filament_diameter so that everything works just like it +does already with very minor adjustments. + +filament_diameter = sqrt( (4 \* pellet_flow_coefficient) / PI ) + +sqrt just makes the relationship between flow_coefficient and volume linear. + +higher packing density -> more material extruded by single turn -> higher pellet_flow_coefficient -> treated as if a filament of larger diameter is being used +All other calculations remain the same for slicing. diff --git a/resources/images/pellets.svg b/resources/images/pellets.svg new file mode 100644 index 000000000..047de45df --- /dev/null +++ b/resources/images/pellets.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + diff --git a/resources/profiles/Ginger Additive.json b/resources/profiles/Ginger Additive.json new file mode 100644 index 000000000..8a50f2546 --- /dev/null +++ b/resources/profiles/Ginger Additive.json @@ -0,0 +1,102 @@ +{ + "name": "Ginger Additive", + "version": "0.1", + "force_update": "1", + "description": "Ginger configuration", + "machine_model_list": [ + { + "name": "ginger G1", + "sub_path": "machine/ginger G1.json" + } + ], + "machine_list": [ + { + "name": "fdm_machine_common", + "sub_path": "machine/fdm_machine_common.json" + }, + { + "name": "ginger_one_common", + "sub_path": "machine/ginger_one_common.json" + }, + { + "name": "ginger G1 1.2 nozzle", + "sub_path": "machine/ginger G1 1.2 nozzle.json" + }, + { + "name": "ginger G1 3.0 nozzle", + "sub_path": "machine/ginger G1 3.0 nozzle.json" + }, + { + "name": "ginger G1 5.0 nozzle", + "sub_path": "machine/ginger G1 5.0 nozzle.json" + }, + { + "name": "ginger G1 8.0 nozzle", + "sub_path": "machine/ginger G1 8.0 nozzle.json" + } + ], + "process_list": [ + { + "name": "fdm_process_common", + "sub_path": "process/fdm_process_common.json" + }, + { + "name": "0.60mm Standard", + "sub_path": "process/0.60mm Standard.json" + }, + { + "name": "1.50mm Standard", + "sub_path": "process/1.50mm Standard.json" + }, + { + "name": "1.80mm Vasemode", + "sub_path": "process/1.80mm Vasemode.json" + }, + { + "name": "2.50mm Standard", + "sub_path": "process/2.50mm Standard.json" + }, + { + "name": "4.00mm Standard", + "sub_path": "process/4.00mm Standard.json" + } + ], + "filament_list": [ + { + "name": "fdm_filament_common", + "sub_path": "filament/fdm_filament_common.json" + }, + { + "name": "fdm_filament_petg", + "sub_path": "filament/fdm_filament_petg.json" + }, + { + "name": "fdm_filament_pla", + "sub_path": "filament/fdm_filament_pla.json" + }, + { + "name": "fdm_filament_rpetg", + "sub_path": "filament/fdm_filament_rpetg.json" + }, + { + "name": "fdm_filament_rpla", + "sub_path": "filament/fdm_filament_rpla.json" + }, + { + "name": "Ginger Generic PETG", + "sub_path": "filament/Ginger Generic PETG.json" + }, + { + "name": "Ginger Generic PLA", + "sub_path": "filament/Ginger Generic PLA.json" + }, + { + "name": "Ginger Generic rPETG", + "sub_path": "filament/Ginger Generic rPETG.json" + }, + { + "name": "Ginger Generic rPLA", + "sub_path": "filament/Ginger Generic rPLA.json" + } + ] +} diff --git a/resources/profiles/Ginger Additive/Ginger_One.stl b/resources/profiles/Ginger Additive/Ginger_One.stl new file mode 100644 index 000000000..ec20e29d3 Binary files /dev/null and b/resources/profiles/Ginger Additive/Ginger_One.stl differ diff --git a/resources/profiles/Ginger Additive/Ginger_One.svg b/resources/profiles/Ginger Additive/Ginger_One.svg new file mode 100644 index 000000000..eae220fa9 --- /dev/null +++ b/resources/profiles/Ginger Additive/Ginger_One.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/profiles/Ginger Additive/filament/Ginger Generic PETG.json b/resources/profiles/Ginger Additive/filament/Ginger Generic PETG.json new file mode 100644 index 000000000..8fd8e3891 --- /dev/null +++ b/resources/profiles/Ginger Additive/filament/Ginger Generic PETG.json @@ -0,0 +1,29 @@ +{ + "type": "filament", + "enable_overhang_bridge_fan": ["0"], + "fan_max_speed": ["0"], + "fan_min_speed": ["0"], + "filament_diameter": ["1.12838"], + "filament_max_volumetric_speed": ["220"], + "filament_settings_id": ["PETG"], + "filament_type": ["PETG"], + "filament_vendor": ["Generic"], + "from": "system", + "hot_plate_temp": ["100"], + "hot_plate_temp_initial_layer": ["90"], + "inherits": "fdm_filament_petg", + "is_custom_defined": "0", + "name": "Ginger Generic PETG", + "pellet_flow_coefficient": ["1"], + "pressure_advance": ["0.01"], + "slow_down_layer_time": ["30"], + "slow_down_min_speed": ["1"], + "version": "0.1.0.0", + "compatible_printers": [ + "ginger G1 1.2 nozzle", + "ginger G1 3.0 nozzle", + "ginger G1 5.0 nozzle", + "ginger G1 8.0 nozzle" + ], + "instantiation": "true" +} diff --git a/resources/profiles/Ginger Additive/filament/Ginger Generic PLA.json b/resources/profiles/Ginger Additive/filament/Ginger Generic PLA.json new file mode 100644 index 000000000..8242c91b2 --- /dev/null +++ b/resources/profiles/Ginger Additive/filament/Ginger Generic PLA.json @@ -0,0 +1,30 @@ +{ + "type": "filament", + "fan_cooling_layer_time": ["60"], + "fan_max_speed": ["60"], + "fan_min_speed": ["20"], + "filament_cost": ["6"], + "filament_diameter": ["1.12838"], + "filament_max_volumetric_speed": ["250"], + "filament_settings_id": ["PLA"], + "filament_vendor": ["Generic"], + "from": "system", + "inherits": "fdm_filament_pla", + "is_custom_defined": "0", + "name": "Ginger Generic PLA", + "nozzle_temperature": ["210"], + "nozzle_temperature_initial_layer": ["210"], + "nozzle_temperature_range_high": ["220"], + "pellet_flow_coefficient": ["1"], + "required_nozzle_HRC": ["0"], + "slow_down_layer_time": ["20"], + "slow_down_min_speed": ["3"], + "version": "0.1.0.0", + "compatible_printers": [ + "ginger G1 1.2 nozzle", + "ginger G1 3.0 nozzle", + "ginger G1 5.0 nozzle", + "ginger G1 8.0 nozzle" + ], + "instantiation": "true" +} diff --git a/resources/profiles/Ginger Additive/filament/Ginger Generic rPETG.json b/resources/profiles/Ginger Additive/filament/Ginger Generic rPETG.json new file mode 100644 index 000000000..489744aef --- /dev/null +++ b/resources/profiles/Ginger Additive/filament/Ginger Generic rPETG.json @@ -0,0 +1,31 @@ +{ + "type": "filament", + "fan_cooling_layer_time": ["50"], + "fan_min_speed": ["0"], + "filament_density": ["1.27"], + "filament_diameter": ["1.12838"], + "filament_settings_id": ["rPETG"], + "filament_type": ["rPETG"], + "filament_vendor": ["Generic"], + "from": "system", + "hot_plate_temp": ["90"], + "hot_plate_temp_initial_layer": ["80"], + "inherits": "fdm_filament_rpetg", + "is_custom_defined": "0", + "name": "Ginger Generic rPETG", + "nozzle_temperature_range_high": ["260"], + "nozzle_temperature_range_low": ["230"], + "pellet_flow_coefficient": ["1"], + "pressure_advance": ["0.01"], + "required_nozzle_HRC": ["0"], + "slow_down_min_speed": ["2"], + "temperature_vitrification": ["85"], + "version": "0.1.0.0", + "compatible_printers": [ + "ginger G1 1.2 nozzle", + "ginger G1 3.0 nozzle", + "ginger G1 5.0 nozzle", + "ginger G1 8.0 nozzle" + ], + "instantiation": "true" +} diff --git a/resources/profiles/Ginger Additive/filament/Ginger Generic rPLA.json b/resources/profiles/Ginger Additive/filament/Ginger Generic rPLA.json new file mode 100644 index 000000000..65dc0c13b --- /dev/null +++ b/resources/profiles/Ginger Additive/filament/Ginger Generic rPLA.json @@ -0,0 +1,22 @@ +{ + "type": "filament", + "fan_max_speed": ["0"], + "fan_min_speed": ["0"], + "filament_diameter": ["1.12838"], + "filament_settings_id": ["rPLA"], + "filament_type": ["rPLA"], + "filament_vendor": ["Generic"], + "from": "system", + "inherits": "fdm_filament_rpla", + "is_custom_defined": "0", + "name": "Ginger Generic rPLA", + "pellet_flow_coefficient": ["1"], + "version": "0.1.0.0", + "compatible_printers": [ + "ginger G1 1.2 nozzle", + "ginger G1 3.0 nozzle", + "ginger G1 5.0 nozzle", + "ginger G1 8.0 nozzle" + ], + "instantiation": "true" +} diff --git a/resources/profiles/Ginger Additive/filament/fdm_filament_common.json b/resources/profiles/Ginger Additive/filament/fdm_filament_common.json new file mode 100644 index 000000000..ffd1d27d7 --- /dev/null +++ b/resources/profiles/Ginger Additive/filament/fdm_filament_common.json @@ -0,0 +1,95 @@ +{ + "type": "filament", + "activate_air_filtration": ["0"], + "activate_chamber_temp_control": ["0"], + "additional_cooling_fan_speed": ["70"], + "chamber_temperature": ["0"], + "close_fan_the_first_x_layers": ["1"], + "compatible_printers": ["Ginger Additive ginger G1 1.0 nozzle"], + "compatible_printers_condition": "", + "compatible_prints": [], + "compatible_prints_condition": "", + "complete_print_exhaust_fan_speed": ["70"], + "cool_plate_temp": ["35"], + "cool_plate_temp_initial_layer": ["35"], + "default_filament_colour": [""], + "during_print_exhaust_fan_speed": ["70"], + "enable_overhang_bridge_fan": ["1"], + "enable_pressure_advance": ["1"], + "eng_plate_temp": ["0"], + "eng_plate_temp_initial_layer": ["0"], + "fan_cooling_layer_time": ["60"], + "fan_max_speed": ["0"], + "fan_min_speed": ["0"], + "filament_cooling_final_speed": ["3.4"], + "filament_cooling_initial_speed": ["2.2"], + "filament_cooling_moves": ["4"], + "filament_cost": ["5"], + "filament_density": ["1.24"], + "filament_deretraction_speed": ["nil"], + "filament_diameter": ["2.8"], + "filament_end_gcode": ["; filament end gcode \nM106 P3 S0\n"], + "filament_flow_ratio": ["1"], + "filament_id": "P510eff9", + "filament_is_support": ["0"], + "filament_load_time": ["0"], + "filament_loading_speed": ["28"], + "filament_loading_speed_start": ["3"], + "filament_max_volumetric_speed": ["300"], + "filament_minimal_purge_on_wipe_tower": ["15"], + "filament_multitool_ramming": ["0"], + "filament_multitool_ramming_flow": ["10"], + "filament_multitool_ramming_volume": ["10"], + "filament_notes": [""], + "filament_ramming_parameters": [ + "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" + ], + "filament_retract_before_wipe": ["nil"], + "filament_retract_lift_above": ["nil"], + "filament_retract_lift_below": ["nil"], + "filament_retract_lift_enforce": ["nil"], + "filament_retract_restart_extra": ["nil"], + "filament_retract_when_changing_layer": ["nil"], + "filament_retraction_length": ["nil"], + "filament_retraction_minimum_travel": ["nil"], + "filament_retraction_speed": ["nil"], + "filament_settings_id": ["Ginger Filaments Common"], + "filament_shrink": ["100%"], + "filament_soluble": ["0"], + "filament_start_gcode": [ + "; 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}\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ], + "filament_toolchange_delay": ["0"], + "filament_unload_time": ["0"], + "filament_unloading_speed": ["90"], + "filament_unloading_speed_start": ["100"], + "filament_vendor": ["Generic"], + "filament_wipe": ["nil"], + "filament_wipe_distance": ["nil"], + "filament_z_hop": ["nil"], + "filament_z_hop_types": ["nil"], + "from": "system", + "full_fan_speed_layer": ["0"], + "hot_plate_temp": ["1"], + "hot_plate_temp_initial_layer": ["60"], + "is_custom_defined": "0", + "name": "fdm_filament_common", + "nozzle_temperature": ["220"], + "nozzle_temperature_initial_layer": ["220"], + "nozzle_temperature_range_high": ["240"], + "nozzle_temperature_range_low": ["190"], + "overhang_fan_speed": ["100"], + "overhang_fan_threshold": ["50%"], + "pressure_advance": ["0.4"], + "reduce_fan_stop_start_freq": ["0"], + "required_nozzle_HRC": ["3"], + "slow_down_for_layer_cooling": ["1"], + "slow_down_layer_time": ["30"], + "slow_down_min_speed": ["20"], + "support_material_interface_fan_speed": ["-1"], + "temperature_vitrification": ["55"], + "textured_plate_temp": ["55"], + "textured_plate_temp_initial_layer": ["55"], + "version": "1.7.0.2", + "instantiation": "false" +} diff --git a/resources/profiles/Ginger Additive/filament/fdm_filament_petg.json b/resources/profiles/Ginger Additive/filament/fdm_filament_petg.json new file mode 100644 index 000000000..3046df8a8 --- /dev/null +++ b/resources/profiles/Ginger Additive/filament/fdm_filament_petg.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "filament_type": ["PETG"], + "close_fan_the_first_x_layers": ["4"], + "fan_cooling_layer_time": ["100"], + "fan_max_speed": ["50"], + "fan_min_speed": ["5"], + "filament_diameter": ["2.4"], + "filament_settings_id": ["PETG"], + "filament_vendor": ["Generic"], + "from": "system", + "hot_plate_temp": ["50"], + "hot_plate_temp_initial_layer": ["50"], + "inherits": "fdm_filament_common", + "name": "fdm_filament_petg", + "pressure_advance": ["0"], + "slow_down_layer_time": ["25"], + "version": "1.7.0.2", + "instantiation": "false" +} diff --git a/resources/profiles/Ginger Additive/filament/fdm_filament_pla.json b/resources/profiles/Ginger Additive/filament/fdm_filament_pla.json new file mode 100644 index 000000000..d10da9b05 --- /dev/null +++ b/resources/profiles/Ginger Additive/filament/fdm_filament_pla.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "filament_type": ["PLA"], + "close_fan_the_first_x_layers": ["4"], + "fan_cooling_layer_time": ["100"], + "fan_max_speed": ["50"], + "fan_min_speed": ["5"], + "filament_diameter": ["2.4"], + "filament_settings_id": ["PLA"], + "filament_vendor": ["Generic"], + "from": "system", + "hot_plate_temp": ["50"], + "hot_plate_temp_initial_layer": ["50"], + "inherits": "fdm_filament_common", + "name": "fdm_filament_pla", + "pressure_advance": ["0"], + "slow_down_layer_time": ["25"], + "version": "1.7.0.2", + "instantiation": "false" +} diff --git a/resources/profiles/Ginger Additive/filament/fdm_filament_rpetg.json b/resources/profiles/Ginger Additive/filament/fdm_filament_rpetg.json new file mode 100644 index 000000000..826d04bab --- /dev/null +++ b/resources/profiles/Ginger Additive/filament/fdm_filament_rpetg.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "filament_type": ["rPETG"], + "close_fan_the_first_x_layers": ["4"], + "fan_cooling_layer_time": ["100"], + "fan_max_speed": ["50"], + "fan_min_speed": ["5"], + "filament_diameter": ["2.4"], + "filament_settings_id": ["rPETG"], + "filament_vendor": ["Generic"], + "from": "system", + "hot_plate_temp": ["50"], + "hot_plate_temp_initial_layer": ["50"], + "inherits": "fdm_filament_common", + "name": "fdm_filament_rpetg", + "pressure_advance": ["0"], + "slow_down_layer_time": ["25"], + "version": "1.7.0.2", + "instantiation": "false" +} diff --git a/resources/profiles/Ginger Additive/filament/fdm_filament_rpla.json b/resources/profiles/Ginger Additive/filament/fdm_filament_rpla.json new file mode 100644 index 000000000..05a73700c --- /dev/null +++ b/resources/profiles/Ginger Additive/filament/fdm_filament_rpla.json @@ -0,0 +1,20 @@ +{ + "type": "filament", + "filament_type": ["rPLA"], + "close_fan_the_first_x_layers": ["4"], + "fan_cooling_layer_time": ["100"], + "fan_max_speed": ["50"], + "fan_min_speed": ["5"], + "filament_diameter": ["2.4"], + "filament_settings_id": ["rPLA"], + "filament_vendor": ["Generic"], + "from": "system", + "hot_plate_temp": ["50"], + "hot_plate_temp_initial_layer": ["50"], + "inherits": "fdm_filament_common", + "name": "fdm_filament_rpla", + "pressure_advance": ["0"], + "slow_down_layer_time": ["25"], + "version": "1.7.0.2", + "instantiation": "false" +} diff --git a/resources/profiles/Ginger Additive/ginger G1_cover.png b/resources/profiles/Ginger Additive/ginger G1_cover.png new file mode 100644 index 000000000..f072f4693 Binary files /dev/null and b/resources/profiles/Ginger Additive/ginger G1_cover.png differ diff --git a/resources/profiles/Ginger Additive/machine/fdm_machine_common.json b/resources/profiles/Ginger Additive/machine/fdm_machine_common.json new file mode 100644 index 000000000..c1e54edfb --- /dev/null +++ b/resources/profiles/Ginger Additive/machine/fdm_machine_common.json @@ -0,0 +1,121 @@ +{ + "type": "machine", + "instantiation": "false", + "adaptive_bed_mesh_margin": "0", + "auxiliary_fan": "0", + "bed_custom_texture": "", + "bed_exclude_area": ["0x0"], + "bed_mesh_max": "99999,99999", + "bed_mesh_min": "-99999,-99999", + "bed_mesh_probe_distance": "50,50", + "before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n", + "best_object_pos": "0.5,0.5", + "change_extrusion_role_gcode": "", + "change_filament_gcode": "", + "cooling_tube_length": "5", + "cooling_tube_retraction": "91.5", + "default_filament_profile": ["My Generic ABS"], + "default_print_profile": "0.20mm Standard @MyKlipper", + "deretraction_speed": ["30"], + "disable_m73": "0", + "emit_machine_limits_to_gcode": "1", + "enable_filament_ramming": "1", + "extra_loading_move": "-2", + "extruder_clearance_height_to_lid": "140", + "extruder_clearance_height_to_rod": "36", + "extruder_clearance_radius": "65", + "extruder_colour": ["#FCE94F"], + "extruder_offset": ["0x0"], + "fan_kickstart": "0", + "fan_speedup_overhangs": "1", + "fan_speedup_time": "0", + "from": "system", + "gcode_flavor": "klipper", + "head_wrap_detect_zone": [], + "high_current_on_filament_swap": "0", + "host_type": "octoprint", + "is_custom_defined": "0", + "layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]", + "machine_end_gcode": "PRINT_END", + "machine_load_filament_time": "0", + "machine_max_acceleration_e": ["5000", "5000"], + "machine_max_acceleration_extruding": ["20000", "20000"], + "machine_max_acceleration_retracting": ["5000", "5000"], + "machine_max_acceleration_travel": ["20000", "20000"], + "machine_max_acceleration_x": ["2000", "20000"], + "machine_max_acceleration_y": ["2000", "20000"], + "machine_max_acceleration_z": ["500", "200"], + "machine_max_jerk_e": ["2.5", "2.5"], + "machine_max_jerk_x": ["5", "9"], + "machine_max_jerk_y": ["5", "9"], + "machine_max_jerk_z": ["0.2", "0.4"], + "machine_max_speed_e": ["80", "25"], + "machine_max_speed_x": ["200", "200"], + "machine_max_speed_y": ["200", "200"], + "machine_max_speed_z": ["12", "12"], + "machine_min_extruding_rate": ["0", "0"], + "machine_min_travel_rate": ["0", "0"], + "machine_pause_gcode": "PAUSE", + "machine_start_gcode": "PRINT_START MATERIAL=[filament_type]\n", + "machine_unload_filament_time": "0", + "manual_filament_change": "0", + "max_layer_height": ["2"], + "min_layer_height": ["0.1"], + "name": "fdm_machine_common", + "nozzle_diameter": ["1.0"], + "nozzle_hrc": "0", + "nozzle_type": "undefine", + "nozzle_volume": "0", + "parking_pos_retraction": "92", + "pellet_modded_printer": "1", + "preferred_orientation": "0", + "print_host": "http://10.0.1.200/", + "print_host_webui": "", + "printable_area": ["0x0", "1000x0", "1000x1000", "0x1000"], + "printable_height": "1000", + "printer_notes": "", + "printer_settings_id": "fdm_machine_common", + "printer_structure": "undefine", + "printer_technology": "FFF", + "printer_variant": "1.0", + "printhost_apikey": "", + "printhost_authorization_type": "key", + "printhost_cafile": "", + "printhost_password": "", + "printhost_port": "", + "printhost_ssl_ignore_revoke": "0", + "printhost_user": "", + "printing_by_object_gcode": "", + "purge_in_prime_tower": "1", + "retract_before_wipe": ["70%"], + "retract_length_toolchange": ["2"], + "retract_lift_above": ["0"], + "retract_lift_below": ["0"], + "retract_lift_enforce": ["All Surfaces"], + "retract_restart_extra": ["0"], + "retract_restart_extra_toolchange": ["0"], + "retract_when_changing_layer": ["1"], + "retraction_length": ["0.8"], + "retraction_minimum_travel": ["1"], + "retraction_speed": ["30"], + "scan_first_layer": "0", + "silent_mode": "0", + "single_extruder_multi_material": "1", + "support_air_filtration": "1", + "support_chamber_temp_control": "1", + "support_multi_bed_types": "0", + "template_custom_gcode": "", + "thumbnails": ["50x50"], + "thumbnails_format": "PNG", + "time_cost": "0", + "time_lapse_gcode": "", + "upward_compatible_machine": [], + "use_firmware_retraction": "0", + "use_relative_e_distances": "1", + "version": "1.9.0.2", + "wipe": ["1"], + "wipe_distance": ["1"], + "z_hop": ["0.4"], + "z_hop_types": ["Normal Lift"], + "z_offset": "0" +} diff --git a/resources/profiles/Ginger Additive/machine/ginger G1 1.2 nozzle.json b/resources/profiles/Ginger Additive/machine/ginger G1 1.2 nozzle.json new file mode 100644 index 000000000..76a80a20d --- /dev/null +++ b/resources/profiles/Ginger Additive/machine/ginger G1 1.2 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "deretraction_speed": ["300"], + "extruder_clearance_height_to_lid": "200", + "extruder_clearance_height_to_rod": "200", + "extruder_clearance_radius": "180", + "from": "system", + "inherits": "ginger_one_common", + "is_custom_defined": "0", + "machine_max_speed_e": ["250", "25"], + "machine_max_speed_x": ["250", "200"], + "machine_max_speed_y": ["250", "200"], + "machine_max_speed_z": ["12", "12"], + "machine_start_gcode": "START_PRINT BED_TEMPERATURE=[bed_temperature_initial_layer] MATERIAL=[filament_type] KAMP_LEVELING=1 PURGE_LAYER_HEIGHT=2 PURGE_PARKING_SPEED=10000 PURGE_LENGHT=300 PURGE_SPEED=500 PURGE_MATERIAL_QUANTITY=3000 EXTRUDER_TEMPERATURE=[nozzle_temperature] EXTRUDER_TEMPERATURE_INITIAL_LAYER=[nozzle_temperature_initial_layer]", + "max_layer_height": ["1"], + "name": "ginger G1 1.2 nozzle", + "nozzle_diameter": ["1.2"], + "printer_variant": "1.2", + "printer_model": "ginger G1", + "print_host": "192.168.1.97", + "printer_settings_id": "ginger G1 1.2 nozzle", + "retract_before_wipe": ["20%"], + "retract_restart_extra": ["12"], + "retraction_length": ["20"], + "retraction_speed": ["250"], + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "version": "0.1.0.0", + "wipe_distance": ["20"], + "z_hop": ["0.8"], + "z_hop_types": ["Slope Lift"], + "instantiation": "true" +} diff --git a/resources/profiles/Ginger Additive/machine/ginger G1 3.0 nozzle.json b/resources/profiles/Ginger Additive/machine/ginger G1 3.0 nozzle.json new file mode 100644 index 000000000..8976a3ce3 --- /dev/null +++ b/resources/profiles/Ginger Additive/machine/ginger G1 3.0 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "deretraction_speed": ["250"], + "extruder_clearance_height_to_lid": "200", + "extruder_clearance_height_to_rod": "200", + "extruder_clearance_radius": "180", + "from": "system", + "inherits": "ginger_one_common", + "is_custom_defined": "0", + "machine_max_speed_e": ["300", "25"], + "machine_max_speed_x": ["250", "200"], + "machine_max_speed_y": ["250", "200"], + "machine_max_speed_z": ["12", "12"], + "machine_start_gcode": "START_PRINT BED_TEMPERATURE=[bed_temperature_initial_layer] MATERIAL=[filament_type] KAMP_LEVELING=1 PURGE_LAYER_HEIGHT=2 PURGE_PARKING_SPEED=10000 PURGE_LENGHT=300 PURGE_SPEED=500 PURGE_MATERIAL_QUANTITY=3000 EXTRUDER_TEMPERATURE=[nozzle_temperature] EXTRUDER_TEMPERATURE_INITIAL_LAYER=[nozzle_temperature_initial_layer]", + "max_layer_height": ["2.2"], + "nozzle_diameter": ["3.0"], + "printer_variant": "3.0", + "printer_model": "ginger G1", + "name": "ginger G1 3.0 nozzle", + "print_host": "192.168.1.39", + "printer_settings_id": "ginger G1 3.0 nozzle", + "retract_before_wipe": ["20%"], + "retract_restart_extra": ["5"], + "retraction_length": ["15"], + "retraction_speed": ["250"], + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "version": "0.1.0.0", + "wipe_distance": ["15"], + "z_hop": ["1.2"], + "z_hop_types": ["Normal Lift"], + "instantiation": "true" +} diff --git a/resources/profiles/Ginger Additive/machine/ginger G1 5.0 nozzle.json b/resources/profiles/Ginger Additive/machine/ginger G1 5.0 nozzle.json new file mode 100644 index 000000000..02231c1ad --- /dev/null +++ b/resources/profiles/Ginger Additive/machine/ginger G1 5.0 nozzle.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "deretraction_speed": ["300"], + "extruder_clearance_height_to_lid": "200", + "extruder_clearance_height_to_rod": "200", + "extruder_clearance_radius": "180", + "from": "system", + "inherits": "ginger_one_common", + "is_custom_defined": "0", + "machine_max_speed_e": ["300", "25"], + "machine_max_speed_x": ["250", "200"], + "machine_max_speed_y": ["250", "200"], + "machine_max_speed_z": ["12", "12"], + "machine_start_gcode": "START_PRINT BED_TEMPERATURE=[bed_temperature_initial_layer] MATERIAL=[filament_type] KAMP_LEVELING=1 PURGE_LAYER_HEIGHT=2 PURGE_PARKING_SPEED=10000 PURGE_LENGHT=300 PURGE_SPEED=500 PURGE_MATERIAL_QUANTITY=3000 EXTRUDER_TEMPERATURE=[nozzle_temperature] EXTRUDER_TEMPERATURE_INITIAL_LAYER=[nozzle_temperature_initial_layer]", + "max_layer_height": ["3.5"], + "name": "ginger G1 5.0 nozzle", + "nozzle_diameter": ["5.0"], + "printer_variant": "5.0", + "printer_model": "ginger G1", + "print_host": "192.168.1.97", + "printer_settings_id": "ginger G1 5.0 nozzle", + "retract_before_wipe": ["20%"], + "retract_restart_extra": ["15"], + "retraction_length": ["25"], + "retraction_speed": ["300"], + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "version": "0.1.0.0", + "wipe_distance": ["20"], + "z_hop": ["2"], + "z_hop_types": ["Normal Lift"], + "instantiation": "true" +} diff --git a/resources/profiles/Ginger Additive/machine/ginger G1 8.0 nozzle.json b/resources/profiles/Ginger Additive/machine/ginger G1 8.0 nozzle.json new file mode 100644 index 000000000..b9a1e9b5d --- /dev/null +++ b/resources/profiles/Ginger Additive/machine/ginger G1 8.0 nozzle.json @@ -0,0 +1,34 @@ +{ + "type": "machine", + "deretraction_speed": ["300"], + "extruder_clearance_height_to_lid": "200", + "extruder_clearance_height_to_rod": "200", + "extruder_clearance_radius": "180", + "from": "system", + "inherits": "ginger_one_common", + "is_custom_defined": "0", + "machine_max_speed_e": ["300", "25"], + "machine_max_speed_x": ["250", "200"], + "machine_max_speed_y": ["250", "200"], + "machine_max_speed_z": ["12", "12"], + "machine_start_gcode": "START_PRINT BED_TEMPERATURE=[bed_temperature_initial_layer] MATERIAL=[filament_type] KAMP_LEVELING=1 PURGE_LAYER_HEIGHT=2 PURGE_PARKING_SPEED=10000 PURGE_LENGHT=300 PURGE_SPEED=500 PURGE_MATERIAL_QUANTITY=3000 EXTRUDER_TEMPERATURE=[nozzle_temperature] EXTRUDER_TEMPERATURE_INITIAL_LAYER=[nozzle_temperature_initial_layer]", + "max_layer_height": ["6"], + "name": "ginger G1 8.0 nozzle", + "nozzle_diameter": ["8.0"], + "printer_variant": "8.0", + "printer_model": "ginger G1", + "print_host": "192.168.1.39", + "printer_settings_id": "ginger G1 8.0 nozzle", + "retract_before_wipe": ["20%"], + "retract_length_toolchange": ["4"], + "retract_restart_extra": ["30"], + "retraction_length": ["40"], + "retraction_speed": ["300"], + "support_air_filtration": "0", + "support_chamber_temp_control": "0", + "version": "0.1.0.0", + "wipe_distance": ["30"], + "z_hop": ["2"], + "z_hop_types": ["Normal Lift"], + "instantiation": "true" +} diff --git a/resources/profiles/Ginger Additive/machine/ginger G1.json b/resources/profiles/Ginger Additive/machine/ginger G1.json new file mode 100644 index 000000000..bf1032021 --- /dev/null +++ b/resources/profiles/Ginger Additive/machine/ginger G1.json @@ -0,0 +1,10 @@ +{ + "type": "machine_model", + "name": "ginger G1", + "model_id": "Ginger_One", + "nozzle_diameter": "1.2;3.0;5.0;8.0", + "machine_tech": "FFF", + "family": "Ginger", + "bed_model": "Ginger_One.stl", + "default_materials": "Ginger Generic PETG;Ginger Generic PLA;Ginger Generic rPETG;Ginger Generic rPLA" +} diff --git a/resources/profiles/Ginger Additive/machine/ginger_one_common.json b/resources/profiles/Ginger Additive/machine/ginger_one_common.json new file mode 100644 index 000000000..1917e0c17 --- /dev/null +++ b/resources/profiles/Ginger Additive/machine/ginger_one_common.json @@ -0,0 +1,33 @@ +{ + "type": "machine", + "instantiation": "false", + "deretraction_speed": ["60"], + "from": "system", + "inherits": "fdm_machine_common", + "machine_end_gcode": "END_PRINT", + "machine_max_acceleration_e": ["1000", "5000"], + "machine_max_acceleration_extruding": ["2500", "20000"], + "machine_max_acceleration_retracting": ["2500", "5000"], + "machine_max_acceleration_x": ["2500", "20000"], + "machine_max_acceleration_y": ["2500", "20000"], + "machine_max_jerk_e": ["30", "2.5"], + "machine_max_jerk_x": ["7", "9"], + "machine_max_jerk_y": ["7", "9"], + "machine_max_jerk_z": ["7", "0.4"], + "machine_max_speed_e": ["100", "25"], + "machine_max_speed_x": ["350", "200"], + "machine_max_speed_y": ["300", "200"], + "machine_max_speed_z": ["5", "12"], + "machine_start_gcode": "START_PRINT MATERIAL=[filament_type] BED=[bed_temperature_initial_layer]\n", + "name": "ginger_one_common", + "print_host": "192.168.0.167", + "printer_settings_id": "ginger_one_common", + "retract_restart_extra": ["0.5"], + "retraction_length": ["3"], + "retraction_minimum_travel": ["10"], + "retraction_speed": ["60"], + "version": "1.9.0.2", + "wipe_distance": ["10"], + "z_hop": ["0.1"], + "z_hop_types": ["Auto Lift"] +} diff --git a/resources/profiles/Ginger Additive/process/0.60mm Standard.json b/resources/profiles/Ginger Additive/process/0.60mm Standard.json new file mode 100644 index 000000000..7fa0561e5 --- /dev/null +++ b/resources/profiles/Ginger Additive/process/0.60mm Standard.json @@ -0,0 +1,80 @@ +{ + "type": "process", + "accel_to_decel_enable": "0", + "bottom_shell_layers": "0", + "bottom_solid_infill_flow_ratio": "0.98", + "bridge_flow": "0.95", + "brim_object_gap": "0.05", + "brim_type": "no_brim", + "brim_width": "10", + "default_acceleration": "2500", + "default_jerk": "5", + "elefant_foot_compensation": "0.15", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "from": "User", + "gap_fill_target": "nowhere", + "gap_infill_speed": "100", + "infill_anchor_max": "30", + "infill_jerk": "5", + "infill_wall_overlap": "30%", + "inherits": "fdm_process_common", + "initial_layer_acceleration": "1000", + "initial_layer_infill_speed": "70", + "initial_layer_jerk": "5", + "initial_layer_line_width": "1.26", + "initial_layer_print_height": "0.6", + "initial_layer_speed": "50", + "inner_wall_acceleration": "2500", + "inner_wall_jerk": "5", + "inner_wall_line_width": "1.26", + "inner_wall_speed": "100", + "internal_bridge_speed": "70%", + "internal_solid_infill_line_width": "1.26", + "internal_solid_infill_speed": "200", + "is_custom_defined": "0", + "layer_height": "0.6", + "line_width": "1.26", + "max_volumetric_extrusion_rate_slope": "100", + "name": "0.60mm Standard", + "outer_wall_acceleration": "2500", + "outer_wall_jerk": "5", + "outer_wall_line_width": "1.26", + "outer_wall_speed": "100", + "overhang_1_4_speed": "80%", + "overhang_2_4_speed": "50", + "overhang_3_4_speed": "30", + "overhang_4_4_speed": "10", + "overhang_reverse": "1", + "overhang_reverse_internal_only": "1", + "overhang_reverse_threshold": "0%", + "print_settings_id": "0.60mm Standard", + "reduce_infill_retraction": "1", + "role_based_wipe_speed": "0", + "skirt_distance": "10", + "skirt_loops": "3", + "sparse_infill_density": "0%", + "sparse_infill_line_width": "1.26", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "200", + "spiral_mode_max_xy_smoothing": "1e+07", + "spiral_mode_smooth": "1", + "support_line_width": "1.26", + "support_speed": "100", + "thick_internal_bridges": "0", + "top_shell_layers": "0", + "top_solid_infill_flow_ratio": "0.92", + "top_surface_acceleration": "2500", + "top_surface_jerk": "5", + "top_surface_line_width": "1.26", + "travel_acceleration": "2500", + "travel_jerk": "7", + "travel_speed": "250", + "version": "0.0.0.0", + "wipe_on_loops": "1", + "wipe_speed": "30", + "xy_contour_compensation": "-0.05", + "xy_hole_compensation": "0.1", + "instantiation": "true", + "compatible_printers": ["ginger G1 1.2 nozzle"] +} diff --git a/resources/profiles/Ginger Additive/process/1.50mm Standard.json b/resources/profiles/Ginger Additive/process/1.50mm Standard.json new file mode 100644 index 000000000..1d5cc86e0 --- /dev/null +++ b/resources/profiles/Ginger Additive/process/1.50mm Standard.json @@ -0,0 +1,71 @@ +{ + "type": "process", + "accel_to_decel_enable": "0", + "bottom_solid_infill_flow_ratio": "0.8", + "brim_type": "outer_only", + "brim_width": "20", + "default_acceleration": "2500", + "default_jerk": "5", + "elefant_foot_compensation": "0.2", + "enable_overhang_speed": "0", + "ensure_vertical_shell_thickness": "none", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "from": "User", + "gap_fill_target": "nowhere", + "gap_infill_speed": "120", + "infill_anchor_max": "30", + "infill_jerk": "5", + "infill_wall_overlap": "30%", + "inherits": "fdm_process_common", + "initial_layer_acceleration": "2500", + "initial_layer_jerk": "5", + "initial_layer_print_height": "1", + "initial_layer_speed": "40", + "inner_wall_acceleration": "2500", + "inner_wall_jerk": "5", + "inner_wall_speed": "120", + "internal_solid_infill_line_width": "3.2", + "internal_solid_infill_speed": "120", + "is_custom_defined": "0", + "name": "1.50mm Standard", + "outer_wall_acceleration": "2500", + "outer_wall_jerk": "5", + "outer_wall_speed": "120", + "overhang_1_4_speed": "20", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "40", + "overhang_4_4_speed": "40", + "overhang_reverse": "1", + "overhang_reverse_internal_only": "1", + "overhang_reverse_threshold": "0%", + "print_settings_id": "1.50mm Standard", + "role_based_wipe_speed": "0", + "seam_position": "aligned", + "skirt_distance": "10", + "sparse_infill_density": "10%", + "sparse_infill_line_width": "3.2", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "spiral_mode_max_xy_smoothing": "1e+07", + "spiral_mode_smooth": "1", + "support_speed": "120", + "thick_internal_bridges": "0", + "top_shell_layers": "0", + "top_solid_infill_flow_ratio": "0.9", + "top_surface_acceleration": "2500", + "top_surface_jerk": "5", + "top_surface_speed": "120", + "travel_acceleration": "2500", + "travel_jerk": "7", + "travel_speed": "250", + "version": "0.0.0.0", + "wall_generator": "classic", + "wall_loops": "1", + "wipe_on_loops": "1", + "wipe_speed": "40", + "xy_contour_compensation": "-0.15", + "xy_hole_compensation": "0.2", + "instantiation": "true", + "compatible_printers": ["ginger G1 3.0 nozzle"] +} diff --git a/resources/profiles/Ginger Additive/process/1.80mm Vasemode.json b/resources/profiles/Ginger Additive/process/1.80mm Vasemode.json new file mode 100644 index 000000000..06f80fb61 --- /dev/null +++ b/resources/profiles/Ginger Additive/process/1.80mm Vasemode.json @@ -0,0 +1,77 @@ +{ + "type": "process", + "accel_to_decel_enable": "0", + "bottom_solid_infill_flow_ratio": "0.8", + "brim_type": "no_brim", + "brim_width": "20", + "default_acceleration": "2500", + "default_jerk": "5", + "elefant_foot_compensation": "0.2", + "enable_overhang_speed": "0", + "ensure_vertical_shell_thickness": "none", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "from": "User", + "gap_fill_target": "nowhere", + "gap_infill_speed": "120", + "infill_anchor_max": "30", + "infill_jerk": "5", + "infill_wall_overlap": "30%", + "inherits": "fdm_process_common", + "initial_layer_acceleration": "2500", + "initial_layer_jerk": "5", + "initial_layer_line_width": "4.2", + "initial_layer_print_height": "1", + "initial_layer_speed": "40", + "inner_wall_acceleration": "2500", + "inner_wall_jerk": "5", + "inner_wall_line_width": "4.2", + "inner_wall_speed": "120", + "internal_solid_infill_line_width": "4.2", + "internal_solid_infill_speed": "120", + "is_custom_defined": "0", + "layer_height": "1.8", + "line_width": "4.2", + "name": "1.80mm Vasemode", + "outer_wall_acceleration": "2500", + "outer_wall_jerk": "5", + "outer_wall_line_width": "4.2", + "outer_wall_speed": "120", + "overhang_1_4_speed": "20", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "40", + "overhang_4_4_speed": "40", + "overhang_reverse_internal_only": "1", + "overhang_reverse_threshold": "0%", + "print_settings_id": "1.80mm Vasemode", + "role_based_wipe_speed": "0", + "seam_position": "aligned", + "skirt_distance": "10", + "sparse_infill_density": "0%", + "sparse_infill_line_width": "4.2", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "spiral_mode": "1", + "spiral_mode_max_xy_smoothing": "1e+07", + "spiral_mode_smooth": "1", + "support_line_width": "4.2", + "support_speed": "120", + "thick_internal_bridges": "0", + "top_shell_layers": "0", + "top_solid_infill_flow_ratio": "0.9", + "top_surface_acceleration": "2500", + "top_surface_jerk": "5", + "top_surface_line_width": "4.2", + "top_surface_speed": "120", + "travel_acceleration": "2500", + "travel_jerk": "7", + "travel_speed": "250", + "version": "0.0.0.0", + "wall_loops": "1", + "wipe_on_loops": "1", + "wipe_speed": "40", + "xy_contour_compensation": "-0.15", + "xy_hole_compensation": "0.2", + "instantiation": "true", + "compatible_printers": ["ginger G1 3.0 nozzle"] +} diff --git a/resources/profiles/Ginger Additive/process/2.50mm Standard.json b/resources/profiles/Ginger Additive/process/2.50mm Standard.json new file mode 100644 index 000000000..136cf7dbc --- /dev/null +++ b/resources/profiles/Ginger Additive/process/2.50mm Standard.json @@ -0,0 +1,78 @@ +{ + "type": "process", + "accel_to_decel_enable": "0", + "bottom_solid_infill_flow_ratio": "0.8", + "brim_type": "outer_only", + "brim_width": "20", + "default_acceleration": "2500", + "default_jerk": "5", + "elefant_foot_compensation": "0.2", + "enable_overhang_speed": "0", + "ensure_vertical_shell_thickness": "none", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "from": "User", + "gap_fill_target": "nowhere", + "gap_infill_speed": "120", + "infill_anchor_max": "30", + "infill_jerk": "5", + "infill_wall_overlap": "30%", + "inherits": "fdm_process_common", + "initial_layer_acceleration": "2500", + "initial_layer_jerk": "5", + "initial_layer_line_width": "5.5", + "initial_layer_print_height": "1", + "initial_layer_speed": "40", + "inner_wall_acceleration": "2500", + "inner_wall_jerk": "5", + "inner_wall_line_width": "5.5", + "inner_wall_speed": "120", + "internal_solid_infill_line_width": "5.5", + "internal_solid_infill_speed": "120", + "is_custom_defined": "0", + "layer_height": "2.5", + "line_width": "5.5", + "name": "2.50mm Standard", + "outer_wall_acceleration": "2500", + "outer_wall_jerk": "5", + "outer_wall_line_width": "5.5", + "outer_wall_speed": "120", + "overhang_1_4_speed": "20", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "40", + "overhang_4_4_speed": "40", + "overhang_reverse": "1", + "overhang_reverse_internal_only": "1", + "overhang_reverse_threshold": "0%", + "print_settings_id": "2.50mm Standard", + "role_based_wipe_speed": "0", + "seam_position": "aligned", + "skirt_distance": "10", + "sparse_infill_density": "10%", + "sparse_infill_line_width": "5.5", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "spiral_mode_max_xy_smoothing": "1e+07", + "spiral_mode_smooth": "1", + "support_line_width": "5.5", + "support_speed": "120", + "thick_internal_bridges": "0", + "top_shell_layers": "0", + "top_solid_infill_flow_ratio": "0.9", + "top_surface_acceleration": "2500", + "top_surface_jerk": "5", + "top_surface_line_width": "5.5", + "top_surface_speed": "120", + "travel_acceleration": "2500", + "travel_jerk": "7", + "travel_speed": "250", + "version": "0.0.0.0", + "wall_generator": "classic", + "wall_loops": "1", + "wipe_on_loops": "1", + "wipe_speed": "40", + "xy_contour_compensation": "-0.15", + "xy_hole_compensation": "0.2", + "instantiation": "true", + "compatible_printers": ["ginger G1 5.0 nozzle"] +} diff --git a/resources/profiles/Ginger Additive/process/4.00mm Standard.json b/resources/profiles/Ginger Additive/process/4.00mm Standard.json new file mode 100644 index 000000000..0b4c95e64 --- /dev/null +++ b/resources/profiles/Ginger Additive/process/4.00mm Standard.json @@ -0,0 +1,76 @@ +{ + "type": "process", + "accel_to_decel_enable": "0", + "brim_type": "outer_only", + "brim_width": "40", + "default_acceleration": "2500", + "default_jerk": "5", + "elefant_foot_compensation": "0.2", + "enable_overhang_speed": "0", + "ensure_vertical_shell_thickness": "none", + "exclude_object": "1", + "extra_perimeters_on_overhangs": "1", + "from": "User", + "gap_fill_target": "nowhere", + "gap_infill_speed": "120", + "infill_anchor_max": "30", + "infill_jerk": "5", + "infill_wall_overlap": "30%", + "inherits": "fdm_process_common", + "initial_layer_acceleration": "2500", + "initial_layer_jerk": "5", + "initial_layer_line_width": "9.5", + "initial_layer_print_height": "1", + "initial_layer_speed": "40", + "inner_wall_acceleration": "2500", + "inner_wall_jerk": "5", + "inner_wall_line_width": "9.5", + "inner_wall_speed": "120", + "internal_solid_infill_line_width": "9.5", + "internal_solid_infill_speed": "120", + "is_custom_defined": "0", + "layer_height": "4", + "line_width": "9.5", + "name": "4.00mm Standard", + "outer_wall_acceleration": "2500", + "outer_wall_jerk": "5", + "outer_wall_line_width": "9.5", + "outer_wall_speed": "120", + "overhang_1_4_speed": "20", + "overhang_2_4_speed": "30", + "overhang_3_4_speed": "40", + "overhang_4_4_speed": "40", + "overhang_reverse": "1", + "overhang_reverse_internal_only": "1", + "overhang_reverse_threshold": "0%", + "print_settings_id": "4.00mm Standard", + "role_based_wipe_speed": "0", + "seam_position": "aligned", + "skirt_distance": "10", + "sparse_infill_density": "10%", + "sparse_infill_line_width": "9.5", + "sparse_infill_pattern": "grid", + "sparse_infill_speed": "120", + "spiral_mode_max_xy_smoothing": "1e+07", + "spiral_mode_smooth": "1", + "support_line_width": "9.5", + "support_speed": "120", + "thick_internal_bridges": "0", + "top_shell_layers": "0", + "top_surface_acceleration": "2500", + "top_surface_jerk": "5", + "top_surface_line_width": "9.5", + "top_surface_speed": "120", + "travel_acceleration": "2500", + "travel_jerk": "7", + "travel_speed": "250", + "version": "0.0.0.0", + "wall_generator": "classic", + "wall_loops": "1", + "wipe_on_loops": "1", + "wipe_speed": "40", + "xy_contour_compensation": "-0.15", + "xy_hole_compensation": "0.2", + "instantiation": "true", + "compatible_printers": ["ginger G1 8.0 nozzle"] +} diff --git a/resources/profiles/Ginger Additive/process/fdm_process_common.json b/resources/profiles/Ginger Additive/process/fdm_process_common.json new file mode 100644 index 000000000..11b16c139 --- /dev/null +++ b/resources/profiles/Ginger Additive/process/fdm_process_common.json @@ -0,0 +1,282 @@ +{ + "type": "process", + "accel_to_decel_enable": "1", + "accel_to_decel_factor": "50%", + "alternate_extra_wall": "0", + "bottom_shell_layers": "3", + "bottom_shell_thickness": "0", + "bottom_solid_infill_flow_ratio": "1", + "bottom_surface_pattern": "monotonic", + "bridge_acceleration": "50%", + "bridge_angle": "0", + "bridge_density": "100%", + "bridge_flow": "1", + "bridge_no_support": "0", + "bridge_speed": "25", + "brim_ears_detection_length": "1", + "brim_ears_max_angle": "125", + "brim_object_gap": "0", + "brim_type": "auto_brim", + "brim_width": "0", + "compatible_printers": [], + "compatible_printers_condition": "", + "counterbore_hole_bridging": "none", + "default_acceleration": "500", + "default_jerk": "0", + "detect_narrow_internal_solid_infill": "1", + "detect_overhang_wall": "1", + "detect_thin_wall": "0", + "dont_filter_internal_bridges": "disabled", + "draft_shield": "disabled", + "elefant_foot_compensation": "0", + "elefant_foot_compensation_layers": "1", + "enable_arc_fitting": "0", + "enable_overhang_speed": "1", + "enable_prime_tower": "0", + "enable_support": "0", + "enforce_support_layers": "0", + "ensure_vertical_shell_thickness": "ensure_all", + "exclude_object": "0", + "extra_perimeters_on_overhangs": "0", + "filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode", + "filter_out_gap_fill": "0", + "flush_into_infill": "0", + "flush_into_objects": "0", + "flush_into_support": "1", + "from": "User", + "fuzzy_skin": "none", + "fuzzy_skin_first_layer": "0", + "fuzzy_skin_point_distance": "0.8", + "fuzzy_skin_thickness": "0.3", + "gap_fill_target": "everywhere", + "gap_infill_speed": "30", + "gcode_add_line_number": "0", + "gcode_comments": "0", + "gcode_label_objects": "1", + "hole_to_polyhole": "0", + "hole_to_polyhole_threshold": "0.01", + "hole_to_polyhole_twisted": "1", + "independent_support_layer_height": "1", + "infill_anchor": "400%", + "infill_anchor_max": "20", + "infill_combination": "0", + "infill_direction": "45", + "infill_jerk": "9", + "infill_wall_overlap": "15%", + "initial_layer_acceleration": "300", + "initial_layer_infill_speed": "60", + "initial_layer_jerk": "9", + "initial_layer_line_width": "3.2", + "initial_layer_min_bead_width": "85%", + "initial_layer_print_height": "1.5", + "initial_layer_speed": "30", + "initial_layer_travel_speed": "100%", + "inner_wall_acceleration": "10000", + "inner_wall_jerk": "9", + "inner_wall_line_width": "3.2", + "inner_wall_speed": "60", + "interface_shells": "0", + "internal_bridge_flow": "1", + "internal_bridge_speed": "150%", + "internal_solid_infill_acceleration": "100%", + "internal_solid_infill_line_width": "3", + "internal_solid_infill_pattern": "monotonic", + "internal_solid_infill_speed": "100", + "ironing_angle": "-1", + "ironing_flow": "10%", + "ironing_pattern": "zig-zag", + "ironing_spacing": "0.1", + "ironing_speed": "20", + "ironing_type": "no ironing", + "is_custom_defined": "0", + "is_infill_first": "0", + "layer_height": "1.5", + "line_width": "3.2", + "make_overhang_printable": "0", + "make_overhang_printable_angle": "55", + "make_overhang_printable_hole_size": "0", + "max_bridge_length": "10", + "max_travel_detour_distance": "0", + "max_volumetric_extrusion_rate_slope": "0", + "max_volumetric_extrusion_rate_slope_segment_length": "3", + "min_bead_width": "85%", + "min_feature_size": "25%", + "min_length_factor": "0.5", + "min_width_top_surface": "300%", + "minimum_sparse_infill_area": "15", + "mmu_segmented_region_interlocking_depth": "0", + "mmu_segmented_region_max_width": "0", + "name": "fdm_process_common", + "notes": "", + "only_one_wall_first_layer": "0", + "only_one_wall_top": "0", + "ooze_prevention": "0", + "outer_wall_acceleration": "500", + "outer_wall_jerk": "9", + "outer_wall_line_width": "3.2", + "outer_wall_speed": "60", + "overhang_1_4_speed": "0", + "overhang_2_4_speed": "0", + "overhang_3_4_speed": "0", + "overhang_4_4_speed": "0", + "overhang_reverse": "0", + "overhang_reverse_internal_only": "0", + "overhang_reverse_threshold": "50%", + "overhang_speed_classic": "0", + "post_process": [], + "precise_outer_wall": "0", + "prime_tower_brim_width": "3", + "prime_tower_width": "60", + "prime_volume": "45", + "print_flow_ratio": "1", + "print_order": "default", + "print_sequence": "by layer", + "print_settings_id": "fdm_process_common", + "raft_contact_distance": "0.1", + "raft_expansion": "1.5", + "raft_first_layer_density": "90%", + "raft_first_layer_expansion": "2", + "raft_layers": "0", + "reduce_crossing_wall": "0", + "reduce_infill_retraction": "0", + "resolution": "0.01", + "role_based_wipe_speed": "1", + "scarf_angle_threshold": "155", + "scarf_joint_flow_ratio": "1", + "scarf_joint_speed": "100%", + "scarf_overhang_threshold": "40%", + "seam_gap": "10%", + "seam_position": "nearest", + "seam_slope_conditional": "0", + "seam_slope_entire_loop": "0", + "seam_slope_inner_walls": "0", + "seam_slope_min_length": "20", + "seam_slope_start_height": "0", + "seam_slope_steps": "10", + "seam_slope_type": "external", + "single_extruder_multi_material_priming": "1", + "skirt_distance": "2", + "skirt_height": "1", + "skirt_loops": "1", + "skirt_speed": "50", + "slice_closing_radius": "0.049", + "slicing_mode": "regular", + "slow_down_layers": "0", + "slowdown_for_curled_perimeters": "0", + "small_area_infill_flow_compensation": "0", + "small_area_infill_flow_compensation_model": [ + "0,0", + "\n0.2,0.4444", + "\n0.4,0.6145", + "\n0.6,0.7059", + "\n0.8,0.7619", + "\n1.5,0.8571", + "\n2,0.8889", + "\n3,0.9231", + "\n5,0.9520", + "\n10,1" + ], + "small_perimeter_speed": "50%", + "small_perimeter_threshold": "0", + "solid_infill_filament": "1", + "sparse_infill_acceleration": "100%", + "sparse_infill_density": "20%", + "sparse_infill_filament": "1", + "sparse_infill_line_width": "3", + "sparse_infill_pattern": "cubic", + "sparse_infill_speed": "100", + "spiral_mode": "0", + "spiral_mode_max_xy_smoothing": "200%", + "spiral_mode_smooth": "0", + "staggered_inner_seams": "0", + "standby_temperature_delta": "-5", + "support_angle": "0", + "support_base_pattern": "default", + "support_base_pattern_spacing": "2.5", + "support_bottom_interface_spacing": "0.5", + "support_bottom_z_distance": "0.2", + "support_critical_regions_only": "0", + "support_expansion": "0", + "support_filament": "0", + "support_interface_bottom_layers": "0", + "support_interface_filament": "0", + "support_interface_loop_pattern": "0", + "support_interface_not_for_body": "1", + "support_interface_pattern": "auto", + "support_interface_spacing": "0.5", + "support_interface_speed": "80", + "support_interface_top_layers": "3", + "support_line_width": "3.2", + "support_object_xy_distance": "0.35", + "support_on_build_plate_only": "0", + "support_remove_small_overhang": "1", + "support_speed": "80", + "support_style": "default", + "support_threshold_angle": "30", + "support_top_z_distance": "0.2", + "support_type": "normal(auto)", + "thick_bridges": "0", + "thick_internal_bridges": "1", + "timelapse_type": "0", + "top_shell_layers": "4", + "top_shell_thickness": "0.6", + "top_solid_infill_flow_ratio": "1", + "top_surface_acceleration": "500", + "top_surface_jerk": "9", + "top_surface_line_width": "3.2", + "top_surface_pattern": "monotonic", + "top_surface_speed": "100", + "travel_acceleration": "10000", + "travel_jerk": "12", + "travel_speed": "120", + "travel_speed_z": "0", + "tree_support_adaptive_layer_height": "1", + "tree_support_angle_slow": "25", + "tree_support_auto_brim": "1", + "tree_support_branch_angle": "40", + "tree_support_branch_angle_organic": "40", + "tree_support_branch_diameter": "5", + "tree_support_branch_diameter_angle": "5", + "tree_support_branch_diameter_double_wall": "3", + "tree_support_branch_diameter_organic": "2", + "tree_support_branch_distance": "5", + "tree_support_branch_distance_organic": "1", + "tree_support_brim_width": "3", + "tree_support_tip_diameter": "0.8", + "tree_support_top_rate": "30%", + "tree_support_wall_count": "0", + "version": "0.0.0.0", + "wall_direction": "auto", + "wall_distribution_count": "1", + "wall_filament": "1", + "wall_generator": "arachne", + "wall_loops": "2", + "wall_sequence": "inner wall/outer wall", + "wall_transition_angle": "10", + "wall_transition_filter_deviation": "25%", + "wall_transition_length": "100%", + "wipe_before_external_loop": "0", + "wipe_on_loops": "0", + "wipe_speed": "80%", + "wipe_tower_bridging": "10", + "wipe_tower_cone_angle": "0", + "wipe_tower_extra_spacing": "100%", + "wipe_tower_extruder": "0", + "wipe_tower_no_sparse_layers": "0", + "wipe_tower_rotation_angle": "0", + "wiping_volumes_extruders": [ + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70", + "70" + ], + "xy_contour_compensation": "0", + "xy_hole_compensation": "0", + "instantiation": "false" +} diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index ff53665f2..7b033f11e 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -817,7 +817,7 @@ static std::vector s_Preset_print_options { }; static std::vector s_Preset_filament_options { - /*"filament_colour", */ "default_filament_colour","required_nozzle_HRC","filament_diameter", "filament_type", "filament_soluble", "filament_is_support", + /*"filament_colour", */ "default_filament_colour","required_nozzle_HRC","filament_diameter", "pellet_flow_coefficient", "filament_type", "filament_soluble", "filament_is_support", "filament_max_volumetric_speed", "filament_flow_ratio", "filament_density", "filament_cost", "filament_minimal_purge_on_wipe_tower", "nozzle_temperature", "nozzle_temperature_initial_layer", @@ -877,7 +877,7 @@ static std::vector s_Preset_printer_options { "cooling_tube_retraction", "cooling_tube_length", "high_current_on_filament_swap", "parking_pos_retraction", "extra_loading_move", "purge_in_prime_tower", "enable_filament_ramming", "z_offset", - "disable_m73", "preferred_orientation", "emit_machine_limits_to_gcode", "support_multi_bed_types","bed_mesh_min","bed_mesh_max","bed_mesh_probe_distance", "adaptive_bed_mesh_margin", "enable_long_retraction_when_cut","long_retractions_when_cut","retraction_distances_when_cut" + "disable_m73", "preferred_orientation", "emit_machine_limits_to_gcode", "pellet_modded_printer", "support_multi_bed_types","bed_mesh_min","bed_mesh_max","bed_mesh_probe_distance", "adaptive_bed_mesh_margin", "enable_long_retraction_when_cut","long_retractions_when_cut","retraction_distances_when_cut" }; static std::vector s_Preset_sla_print_options { diff --git a/src/libslic3r/Preset.hpp b/src/libslic3r/Preset.hpp index 659fc0bf9..145ae5b6f 100644 --- a/src/libslic3r/Preset.hpp +++ b/src/libslic3r/Preset.hpp @@ -320,6 +320,15 @@ public: bool has_cali_lines(PresetBundle* preset_bundle); + static double convert_pellet_flow_to_filament_diameter(double pellet_flow_coefficient) + { + return sqrt(4 / (PI * pellet_flow_coefficient)); + } + + static double convert_filament_diameter_to_pellet_flow(double filament_diameter) + { + return 4 / (pow(filament_diameter, 2) * PI); + } static const std::vector& print_options(); static const std::vector& filament_options(); diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index c4f58e327..b53ec6e35 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -1547,6 +1547,7 @@ void PresetBundle::load_installed_filaments(AppConfig &config) Preset* filament = filaments.find_preset(filament_iter.first, false, true); if (filament && is_compatible_with_printer(PresetWithVendorProfile(*filament, filament->vendor), PresetWithVendorProfile(printer, printer.vendor))) { + //already has compatible filament add_default_materials = false; break; diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 3caabccf3..7379abd4e 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1786,6 +1786,38 @@ void PrintConfigDef::init_fff_params() def->min = 0; def->set_default_value(new ConfigOptionFloats { 1.75 }); + /* + Large format printers with print volumes in the order of 1m^3 generally use pellets for printing. + The overall tech is very similar to FDM printing. + It is FDM printing, but instead of filaments, it uses pellets. + + The difference here is that where filaments have a filament_diameter that is used to calculate + the volume of filament ingested, pellets have a particular flow_coefficient that is empirically + devised for that particular pellet. + + pellet_flow_coefficient is basically a measure of the packing density of a particular pellet. + Shape, material and density of an individual pellet will determine the packing density and + the only thing that matters for 3d printing is how much of that pellet material is extruded by + one turn of whatever feeding mehcanism/gear your printer uses. You can emperically derive that + for your own pellets for a particular printer model. + + We are translating the pellet_flow_coefficient into filament_diameter so that everything works just like it + does already with very minor adjustments. + + filament_diameter = sqrt( (4 * pellet_flow_coefficient) / PI ) + + sqrt just makes the relationship between flow_coefficient and volume linear. + + higher packing density -> more material extruded by single turn -> higher pellet_flow_coefficient -> treated as if a filament of larger diameter is being used + All other calculations remain the same for slicing. + */ + + def = this->add("pellet_flow_coefficient", coFloats); + def->label = L("Pellet flow coefficient"); + def->tooltip = L("Pellet flow coefficient is emperically derived and allows for volume calculation for pellet printers.\n\nInternally it is converted to filament_diameter. All other volume calculations remain the same.\n\nfilament_diameter = sqrt( (4 * pellet_flow_coefficient) / PI )"); + def->min = 0; + def->set_default_value(new ConfigOptionFloats{ 0.4157 }); + def = this->add("filament_shrink", coPercents); def->label = L("Shrinkage"); // xgettext:no-c-format, no-boost-format @@ -2639,6 +2671,12 @@ void PrintConfigDef::init_fff_params() def->readonly = false; def->set_default_value(new ConfigOptionEnum(gcfMarlinLegacy)); + def = this->add("pellet_modded_printer", coBool); + def->label = L("Pellet Modded Printer"); + def->tooltip = L("Enable this option if your printer uses pellets instead of filaments"); + def->mode = comSimple; + def->set_default_value(new ConfigOptionBool(false)); + def = this->add("support_multi_bed_types", coBool); def->label = L("Support multi bed types"); def->tooltip = L("Enable this option if you want to use multiple bed types"); diff --git a/src/slic3r/GUI/ParamsPanel.cpp b/src/slic3r/GUI/ParamsPanel.cpp index 44b28636b..9c18c06b3 100644 --- a/src/slic3r/GUI/ParamsPanel.cpp +++ b/src/slic3r/GUI/ParamsPanel.cpp @@ -596,7 +596,7 @@ void ParamsPanel::set_active_tab(wxPanel* tab) } m_left_sizer->Layout(); if (auto dialog = dynamic_cast(GetParent())) { - wxString title = cur_tab->type() == Preset::TYPE_FILAMENT ? _L("Filament settings") : _L("Printer settings"); + wxString title = cur_tab->type() == Preset::TYPE_FILAMENT ? _L("Material settings") : _L("Printer settings"); dialog->SetTitle(title); } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index a89bc36f9..b3bcfb2f7 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1216,6 +1216,17 @@ void Sidebar::update_all_preset_comboboxes() } + if (cfg.opt_bool("pellet_modded_printer")) { + p->m_staticText_filament_settings->SetLabel(_L("Pellets")); + p->m_filament_icon->SetBitmap_("pellets"); + } else { + p->m_staticText_filament_settings->SetLabel(_L("Filament")); + p->m_filament_icon->SetBitmap_("filament"); + } + + //p->m_staticText_filament_settings->Update(); + + if (is_bbl_vendor || cfg.opt_bool("support_multi_bed_types")) { m_bed_type_list->Enable(); auto str_bed_type = wxGetApp().app_config->get_printer_setting(wxGetApp().preset_bundle->printers.get_selected_preset_name(), diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index 1415ad6e6..bdb993837 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -1418,6 +1418,19 @@ void Tab::on_value_change(const std::string& opt_key, const boost::any& value) } } + + if (opt_key == "pellet_flow_coefficient") + { + double double_value = Preset::convert_pellet_flow_to_filament_diameter(boost::any_cast(value)); + m_config->set_key_value("filament_diameter", new ConfigOptionFloats{double_value}); + } + + if (opt_key == "filament_diameter") { + double double_value = Preset::convert_filament_diameter_to_pellet_flow(boost::any_cast(value)); + m_config->set_key_value("pellet_flow_coefficient", new ConfigOptionFloats{double_value}); + } + + if (opt_key == "single_extruder_multi_material" || opt_key == "extruders_count" ) update_wiping_button_visibility(); @@ -3204,6 +3217,7 @@ void TabFilament::build() optgroup->append_single_option_line("required_nozzle_HRC"); optgroup->append_single_option_line("default_filament_colour"); optgroup->append_single_option_line("filament_diameter"); + optgroup->append_single_option_line("pellet_flow_coefficient"); optgroup->append_single_option_line("filament_flow_ratio"); optgroup->append_single_option_line("enable_pressure_advance"); @@ -3519,6 +3533,10 @@ void TabFilament::toggle_options() toggle_line("eng_plate_temp_initial_layer", support_multi_bed_types); toggle_line("textured_plate_temp_initial_layer", support_multi_bed_types); + bool is_pellet_printer = cfg.opt_bool("pellet_modded_printer"); + + toggle_line("pellet_flow_coefficient", is_pellet_printer); + toggle_line("filament_diameter", !is_pellet_printer); } if (m_active_page->title() == L("Setting Overrides")) update_filament_overrides_page(); @@ -3630,6 +3648,7 @@ void TabPrinter::build_fff() optgroup->append_single_option_line(option); // optgroup->append_single_option_line("printable_area"); optgroup->append_single_option_line("printable_height"); + optgroup->append_single_option_line("pellet_modded_printer"); optgroup->append_single_option_line("support_multi_bed_types","bed-types"); optgroup->append_single_option_line("nozzle_volume"); optgroup->append_single_option_line("best_object_pos");