How is Bambu Studio setup to handle filaments?

Hi

I haven’t quite understood Bambu’s idea behind how the filaments work in Bambu studio.

There are Project Filaments, System Filaments and Custom Filaments.
And then Configs can be imported into Bambu. Configs that contains specs on filaments not already in the system.

I loaded a config with a filament from Polymaker, and it popped up as a custom filament. Maybe I did something that I didn’t quite realize to make that happen, not sure. In any way, it seemed to work fine, if I say so. I can also see that filament in the menu on the printer, when I change filaments in the AMS.

Then I loaded a config with a filament from AddNorth, and it does not pop up as a custom filament. If I try to add it as a custom filament, it is not selectable in any way under the Add Filament Preset. I can however see the filament in the drop down box under Project Filaments, where it is listed as User Presets, where I can also see the Polymide filament that does show up under Custom Filament.

I also imported and deleted the addnorth filament. But then when I imported it again, it said a config already existed, even though I had deleted it. So it seems somehow the filament was still in the system, though not visible anywhere. I looked around a bit.

Then there’s the thing with Mapping filaments. I get the idea of that, which seems to be a good idea, but I get a feeling that Bambu made a mess out of it from a user perspective. I mean, when I synch Bambu Studio with the printer, what’s in the AMS is in the AMS. I shouldn’t have to “Overwrite” anything. Just load into Studio what’s in the AMS. Then the mapping can be done between what’s in the AMS and whatever was intended in the loaded Project. Perhaps that’s the idea doing this when synching with the printer. But there shouldn’t be a need for that synching then. Studio should know what’s in the printer and it should just be a question of mapping, and again no need to “overwrite” anything. Probably there’s something here I am not getting.

Just the fact that you get to the System Filaments through the Project Filament Menu is really weird, very counter-intuitive. Project filaments and system filaments, including Custom filaments which are also IMO System filaments, are two different things, should be treated like two different things, and kept apart. I get the feeling Bambu mixes up what’s Project and what’s System “all the time”. It is certainly not clearly and intuitively differentiated in the GUI.

I feel I don’t quite get how the system is setup to handle filaments, could someone please give me a pedagogical intro?

Thanks!

Hi @Magixians,

You’re not alone in finding Bambu Studio’s filament handling a bit opaque — especially if you’re coming from Cura, as I did. Here’s how I’ve come to understand the logic behind its system, based on real usage and a bit of digging into the configuration structure.

Types of Filament Profiles in Bambu Studio

1. System Filaments

  • Built-in, read-only presets provided by Bambu Lab.
  • Not editable → but can be cloned

2. Custom Filaments

  • User-defined profiles
  • Editable, saved locally and optionally synced.

3. Project Filaments

  • Profiles explicitly embedded in a .3mf project file.
  • Useful for third-party 3mf files (e.g. MW) or to tweak settings.

At any time, you can save the preset: Project Filaments → Custom Filament.

.3mf filaments → custom or project only

What you notice relates to how BS handles filaments.
BStudio stores filament configs at:

Windows: 
Custom filaments:
%APPDATA%\Roaming\BambuStudio\user\<your user number>\filament
System Filaments:
%APPDATA%\Roaming\BambuStudio\system\BBL\filament

Each filament consists of:

  • A .json file with its parameters and a .info file that contains metadata such as user_id, setting_id, inherits, etc.
    As example,
{
  "filament_settings_id": ["Bambu PAHT-CF Black"],
  "inherits": "Bambu PAHT-CF @BBL X1C",
  "from": "User",
  "filament_flow_ratio": ["0.873"],
  ...
}

So what triggers the alert of custom filament? It is related to the imported .3mf metadata, i.e., if the user ID/base ID match your settings (i.e., author).
It will open without alerts if you save a .3mf with a Project Filament (only for that file). Now, if it comes from another user (no metadata match), it should prompt an alert, at least from a security viewpoint. I can’t be certain, but I guess this happened in the two cases you pointed out (Polymaker and AddNorth).

Filament Mapping + AMS Sync

You’re right that this feels a bit messy. Here’s the intent:

  • The .3mf project → entails specific filament settings
  • AMS → It shares info on what you set as physically loaded;
  • BStudio → It allows you to overwrite what’s in the file to match what is in your printer (AMS) — aka map.

I found the mapping workflow reasonably practical, e.g.:

  • Slicing multiple files ahead of time for different filaments and, sending them to the printer, and printing later when the right AMS slots are loaded.
  • Preserving exact slicing conditions from someone else’s .3mf.

It should be more intuitive; but I don’t know how. My reading to do it on the Slic3r GitHub page clarifies that it is based in a sort of “layered configuration” which seems adequate but not user-friendly — especially when all presets are shown in one dropdown.

EDIT: corrected windows filaments directory path after @Ken-N-Texas comment about the wrong info. (TY @Ken-N-Texas)

4 Likes

Mine is stored a little differently. Could be I’m on Windows 11 but I don’t know for sure. Here’s a screen grab of a portion of File Explorer.

1 Like

@JayZay and @Ken-N-Texas Thank you for elucidating this topic. Well done—I learned a lot.

1 Like

And I learned a new word. :wink:

You´re correct. TY.
I already updated it.
Note that System/BBL/Filament relates to the System Filaments… in the user folder, you can find your Custom ones.

1 Like

Yeah, thanks, I didn’t think I would be the only one to be a bit confused :wink:

I still don’t understand why I can’t make a custom filament from my loaded AddNorth profile/config though, when it was possible with the Polymaker.

You can…
Take the example.
Press the filament three dots icon, choose Edit from the menu:

You can notice in the name that the filament settings relate to the project .3mf file, i.e. Sphere.3mf.

If you want to save it as a custom filament and not as a project filament, you press the save button, rename it if and as you wish, and then press the OK button. It will be saved in your custom filament presets.

Now you still have the option to save the project or not:

  • If you save the project, it will replace the Project Filament with your Custom Filament in the .3mf file.
  • Otherwise, the Filament Settings were added to your User Filament Presets (Custom filaments), and the .3mf continues to include a Project Filament, even if identical.

So, in practice, you miss the alert prompt.

1 Like