Is there a way to disable the “Enable AMS” option when using the rear spool feed? Maybe I’m retarded but when I am running a project that requires special filament (like TPU which shouldn’t be loaded from an AMS, or conductive PLA) I always forget to disable the “Enable AMS” option on the “Print plate” dialog. Even though I select slot 9 (my rear spool feed) in the “Change Filament” dropdown, the “Print Plate” dialog defaults to “AMS B3” as the filament source.
I’ll go to do something else only to come back a couple hours later (expecting a completed print) with my X1C telling me to remove the filament from the rear spool feed so it can load filament from AMS B3.
Agreed. IMO the existing heuristics for picking best matching filaments (type & color) from the AMS should be modified so it also considers the external spool (given it has a defined filament).
Actually I think Bambu should stop treating the external spool specially in other places as well. I made a couple of requests about it over on GitHub:
opened 02:36PM - 24 Jan 24 UTC
feature
**TL;DR**
A user with an AMS should not have four available types/colors of fil… ament, but five (obviously with some manual interaction, but NOT requiring any G-code hacks). Ideally, *every aspect of the software, firmware and G-code should aim for that* (as far as reasonable). For example: We should be able to print a model that switches from PLA in the AMS to TPU 95A in the external spool, and back. No weird hacks, just do the intuitive things and print. When user interaction is need for the external spool, prompt for it and pause.
**Problems**
- Any user that doesn't have AMS, or that wants to print TPU 95A, will intuitively think that inserting a "Change Filament at layer" will do just that - but it's blatantly ignored without a warning, as discussed in #1958. BTW that issue title should be edited, this applies to the X1 series as well.
- When switching filament manually during a job, the brand, type and Flow Dynamics Calibration cannot be changed even for the external spool. It's greyed out. For certain use cases, that's a severe limitation.
- As soon as you switched to the external spool, there's no way back for the rest of the print job. This is a bad/sad limitation.
**Solutions**
- A "Change Filament" at layer can't ever be ignored without a as much as a pause/warning. The quite obvious way to handle it for the external spool is to automagically use `M600`. See additional context for a suggestion.
- During any pause, we should be able to switch to/from the external spool at will. If it was printing from the external spool, during the pause we should be able to manually unload that, select an AMS slot and hit Load, and then Resume.
- During a pause (in general, and for switching filament during print in particular) we should be able to reconfigure a spool (eg. changing brand/type and K-value profile).
- If possible, the AMS RFID scanning should work during a pause while no filament is loaded to the hotend.
Overall, there shouldn't be "AMS or not". There should be "AMS and external spool" at all times. The AMS mapping done when initiating a print should include the external spool as a choice (not by disabling AMS entirely, but by saying "Ext" for a particular filament)! Imagine a model that uses black, white and red. If I have black and white loaded in the AMS, and red loaded in the external spool, the mapping should default to just that. When printing: If the model starts with black and/or white, it uses the AMS. Once red is needed, a manual filament switch [to the external spool] is initiated, obviously with a manual pause for user intervention. If the reverse is needed, a manual pause is also done, for user to unload the external spool. Then they can press Resume and the printer will load next filament from the AMS.
**Alternatives/workarounds**
It appears inserting "Pause" as opposed to "Change Filament" for all filament switches, and using the external spool for the whole job, is what currently "works". There is no logic in that. Also, whatever Flow Dynamics Calibration is selected for the external spool at the start of job will presumably be used for the whole print - which can be totally wrong. Even during the pause, there is no way to change it.
As I wrote in https://github.com/bambulab/BambuStudio/issues/1958#issuecomment-1907895004, manually adding a pause in the top of Change Filament G-code can work around some problems (barely). But I suspect that too will print the PLA with the K-value from TPU, as it can't be changed during the filament switch...
**Additional context**
As a first step, there should be a boolean placeholder testable for "AMS enabled". It would be false if there is no AMS or if we disabled AMS when initiating the print. This way the Change Filament G-code could be written like this:
```gcode
{if ams_enabled}
; The current G-code for AMS goes here
M620 S[next_extruder]A
M204 S9000
(... rest of current G-code...)
M621 S[next_extruder]A
{else}
; Manual filament switch
M600 [...]
{endif}
```
opened 01:28AM - 20 Sep 23 UTC
feature
It should be possible to start a print from the external spool, then once it run… s out continue from an AMS spool - just like AMS-only filament backup.
There is no technical problem hiding here, we merely need the software to allow it: Once you detect the external spool's filament ran out, the PTFE tubes are already empty so you can load next spool from AMS and continue with no user interaction.