Skip to content

Commit

Permalink
Adding pellet printer suppor to OrcaSlicer (#4836)
Browse files Browse the repository at this point in the history
* creating settings for printer and some UI changes work

* related filament diameter and pellet flow changes to each other

* UI name change to turn Filament to Material

* updated the flow coefficient to filament diameter formula

* updated the preset for the configuration wizard

* configuration changes for the final release

* config changes and preset bundle sync removed

* start gcode change for ginger machines

* added explanation of relationship between pellet_flow_coefficient and filament_diameter

* Added tooltip. Fixed Ginger machine configuration, Added docs
  • Loading branch information
vipulrajan authored Jun 29, 2024
1 parent 409004d commit 8ccf0ed
Show file tree
Hide file tree
Showing 35 changed files with 1,506 additions and 3 deletions.
23 changes: 23 additions & 0 deletions doc/pellet-flow-coefficient.md
Original file line number Diff line number Diff line change
@@ -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.
48 changes: 48 additions & 0 deletions resources/images/pellets.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
102 changes: 102 additions & 0 deletions resources/profiles/Ginger Additive.json
Original file line number Diff line number Diff line change
@@ -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"
}
]
}
Binary file added resources/profiles/Ginger Additive/Ginger_One.stl
Binary file not shown.
4 changes: 4 additions & 0 deletions resources/profiles/Ginger Additive/Ginger_One.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -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"
}
Original file line number Diff line number Diff line change
@@ -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"
}
Original file line number Diff line number Diff line change
@@ -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"
}
Original file line number Diff line number Diff line change
@@ -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"
}
Original file line number Diff line number Diff line change
@@ -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"
}
Loading

0 comments on commit 8ccf0ed

Please sign in to comment.