Donkie / Spoolman

Keep track of your inventory of 3D-printer filament spools.
MIT License
1.03k stars 93 forks source link

Create slicer filament presets #295

Open Disane87 opened 10 months ago

Disane87 commented 10 months ago

Since I use spoolman regulary and have almost all information regarding filaments in spoolman, it would be nice if we can create filament presets for i.e. PrusaSlicer (and therefore SuperSlicer and other derivates).

A filament preset is only an ini file which would look like this:

# PrusaSlicer Filament Preset for Jayo PLA
# Save this content as a .ini file and import it into PrusaSlicer

[filament:Jayo PLA]
bed_temperature = 50 ; First layer bed temperature
bed_temperature_layer_0 = 60 ; Subsequent layers bed temperature
cooling = 1
disable_fan_first_layers = 1
end_filament_gcode = "; Filament-specific end gcode\n"
extrusion_multiplier = 1.0
fan_always_on = 1
fan_below_layer_time = 60
filament_colour = "#RRGGBB" ; Adjust the color code to match the filament
filament_cost = 0 ; Set the cost per kg of filament
filament_density = 1.24 ; Adjust based on filament manufacturer specifications
filament_diameter = 1.75
filament_notes = "This is a generic preset for Jayo PLA. Adjustments may be necessary."
filament_settings_id = "jayo_pla"
filament_soluble = 0
filament_type = PLA
first_layer_bed_temperature = 60 ; First layer bed temperature
first_layer_temperature = 215 ; First layer extrusion temperature
layer_height = 0.2
max_fan_speed = 100
min_fan_speed = 100
min_print_speed = 10
slowdown_below_layer_time = 30
temperature = 210 ; Extrusion temperature
start_filament_gcode = "; Filament-specific start gcode\n"
retract_length = 0.8 ; Adjust based on your printer's performance
retract_speed = 35
first_layer_speed = 20

All fields which are missing could be done via #283 I guess, am I right? But the core data is already there in spoolman. If this feature isn't planned I could write a tool which uses the api to create them.

What do you think?

rufinus commented 10 months ago

duplicate #11

JesNoFear commented 9 months ago

Chamber Temp is missing in your settings. Love the detailed list though.

I haven't left octoprint because of this functionality, well a lighter version of this functionality. Will be excited to see if this gets added in. Right now I deal with offsets off of my base temps per spool, but love the idea of in addition being able to adjust things like pressure advance or flow rate.

bofh69 commented 8 months ago

I'm writing a tool that creates filament config files from Spoolman's data and jinja2 templates. Its here: https://github.com/bofh69/sm2ss

It currently only have templates for superslicer, but it is prepared for other slices. Just update the get_config_suffix function and add a dir with templates.

It can run once or continuously (and then update the files as they are changed in Spoolman).

Its still a work in progress, but it works right now for me.