OrcaSlicer icon indicating copy to clipboard operation
OrcaSlicer copied to clipboard

Spoolman intergration - Request Filaments IDs

Open TexZeTech opened this issue 1 year ago • 5 comments

Which printers will be beneficial to this feature Spoolman works independently but also has Klipper integration, it looks like someone is making a plugin for OctoPrint

Describe the solution you'd like I would like to have a way to pull filaments from the Spoolman instance/db and list them under filament settings in a separate tab.

Or on print, if Spoolman has an IP entry have a second section under the "upload" & "Upload & Print" with a group label around those buttons with "choose filament & Upload." & "Choose filament then Upload & Print."

If you select choose filament it would then pop up a dialog that would list brands/spool/color/material etc. Mainsail does it well.

image image

Describe alternatives you've considered I could probably make a filament name and go by that but I would rather just have all my spools entered into a db and pull from that. However, this would be aggravating from the ID standpoint.

Additional context https://moonraker.readthedocs.io/en/latest/configuration/#spoolman https://www.teamfdm.com/forums/topic/2212-spoolman-filament-management https://donkie.github.io/Spoolman/ https://github.com/Donkie/Spoolman

TexZeTech avatar Dec 01 '23 19:12 TexZeTech

Wow, this could be really nice also for other vendors and printers...

Eldenroot avatar Dec 01 '23 19:12 Eldenroot

I think in the first instance, we ignore the "Spools" part of Spoolman. Loading / unloading the spools can be done through Mainsail / Klipper for the time being. It would be nice to do this through Orca but not necessary straight off.

Instead, we focus on just pulling the Filaments from the Spoolman API and using it as a single-source-of-truth for OrcaSlicer. I guess, when the Filaments are properly loaded in to Orca for the purposes of slicing the model, we can then look at loading Spools specific to the Filament we have sliced with.

alexmoras avatar Dec 02 '23 17:12 alexmoras

It would be really awesome to also be able to use a klipper macro to select the filament on color switch

Ocraftyone avatar Dec 10 '23 00:12 Ocraftyone

would love this sort of integration which could potentially fed through to an MMU

reapola avatar Dec 23 '23 17:12 reapola

As a short-term solution I think it would help if a new id field would be implemented in the filament settings, where one could manually enter a filament/spool id. This id could be used via start gcode or even filament start gcode and could for example be passed to the SET_ACTIVE_SPOOL macro in klipper.

newtop95 avatar Dec 25 '23 11:12 newtop95

As a short-term solution I think it would help if a new id field would be implemented in the filament settings, where one could manually enter a filament/spool id. This id could be used via start gcode or even filament start gcode and could for example be passed to the SET_ACTIVE_SPOOL macro in klipper.

Great feature request ... as dirty workaround ... open the filament settings in orca ... switch to gcode tab and add ...

SET_ACTIVE_SPOOL ID=#

Unload the spool add in End macro: CLEAR_ACTIVE_SPOOL

(replace # with ID of filament ID in spoolman)

it will load the spool after the start macro is done ... and unloads it if the print is done ... works like a charm :)

Downside: u need a filament for each color, if u like to track it 100% ... If u use a purge line ... this amount is not tracked ... because it runs after the start macro ...

But a simple ID Field in the Filament settings, which could be exported as Placeholder would be great ... and solved the problem with untracked amounts during purging ... (but in real no one cares about this amount ... :) )

mysugarape avatar Jan 28 '24 23:01 mysugarape

It would be extremely useful for this to "consume" filament in spoolman when a print is sent to a printer even if it is as simple as a popup on the print page. This would let us (roughly) track 3rd party filaments on 3rd party printers.

I dont think an ID in the filament settings would work because I (and I assume most) have multiple spools under a single profile - having to create a new spool every time I run out of filament would be a pain.

EdwardChamberlain avatar Mar 26 '24 20:03 EdwardChamberlain

It would be extremely useful for this to "consume" filament in spoolman when a print is sent to a printer even if it is as simple as a popup on the print page. This would let us (roughly) track 3rd party filaments on 3rd party printers.

That is a not bad idea and should also be suggested in the https://github.com/Donkie/Spoolman git.

I dont think an ID in the filament settings would work because I (and I assume most) have multiple spools under a single profile - having to create a new spool every time I run out of filament would be a pain.

If you read my idea it gets the db list from Spoolman and lets you select it and there you could select it on an individual filament selection on OrcaSlicer. Or at least that's how I envision it.

Describe the solution you'd like I would like to have a way to pull filaments from the Spoolman instance/db and list them under filament settings in a separate tab.

Or on print, if Spoolman has an IP entry have a second section under the "upload" & "Upload & Print" with a group label around those buttons with "choose filament & Upload." & "Choose filament then Upload & Print."

If you select choose filament it would then pop up a dialog that would list brands/spool/color/material etc. Mainsail does it well.

Ya.... that's what the individual qr codes and by extension ids are for..... It's also meant to track current stock of spools owned.

TexZeTech avatar Mar 26 '24 21:03 TexZeTech

That is a not bad idea and should also be suggested in the https://github.com/Donkie/Spoolman git.

Spoolman already provide an API endpoint for "using" filament: https://donkie.github.io/Spoolman/#tag/spool/operation/Use_spool_filament_spool__spool_id__use_put

Orca just needs to hook up to this when it sends a job to the printer.

EdwardChamberlain avatar Mar 26 '24 21:03 EdwardChamberlain

That is a not bad idea and should also be suggested in the https://github.com/Donkie/Spoolman git.

Spoolman already provide an API endpoint for "using" filament: https://donkie.github.io/Spoolman/#tag/spool/operation/Use_spool_filament_spool__spool_id__use_put

Orca just needs to hook up to this when it sends a job to the printer.

Show me where I can click a single button to consume filament on their interface?

I know I can go into an individual spool and add/subtract filament.

TexZeTech avatar Mar 26 '24 21:03 TexZeTech

I would like to have Orca (and other slicers) programmatically set the Spool ID. I use the Spoolman "SET_ACTIVE_SPOOL_ID" in the filament settings overrides in Orca. Closest I've gotten to a solution. Also "CLEAR_ACTIVE_SPOOL" in the filament end g-code. This requires me to set the starting filament every time I start a new job. I only run one instance so....

Requires me to manually map the filament in Orca to a Spool in Spoolman which could be very cumbersome if lots of spools involved.

Also Spoolman has a three level database (vendor, filament, spool). From the Spoolman side makes setting up a new spool of filament as simple as "clone" but complicates the Slicer side.

sntlewis avatar Mar 26 '24 21:03 sntlewis

I have been working on a full spoolman implementation and the basics are ready to go. I'll create a pull request soon and link it here to get more feedback.

Ocraftyone avatar Mar 27 '24 00:03 Ocraftyone

Orca bot: this issue is stale because it has been open for 90 days with no activity.

github-actions[bot] avatar Jun 26 '24 00:06 github-actions[bot]

smacks bot upside head No, bad bot, they are working on it.

TexZeTech avatar Jun 27 '24 16:06 TexZeTech

We need this! Would make life so much easier if we could just pull the filaments from Spoolman!

JekleFPV avatar Jul 30 '24 16:07 JekleFPV