mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-08 09:46:55 +00:00
redesign filament_id (#15513)
# Description This PR redesigns `filament_id` across OrcaSlicer's profile library, so that one filament product now carries one consistent id everywhere it ships, instead of a hand-written value that unrelated materials routinely shared. Minting scripts and CI checks come with it so future profiles comply by construction: a new filament takes its id from the tool, and the checks reject a hand-written, duplicated or drifted one before it can merge. Unique, non-duplicated ids are a precondition for AMS-style spool syncing to be dependable — the id is what a printer matches a physical spool against, and while two products share one, the match is a coin toss. This PR lays that groundwork. A follow-up PR will publish an OrcaSlicer materials reference on the wiki, giving every system profile one place to point at. `filament_id` names one filament product, and it is what a device matches a physical spool against: Bambu AMS, Creality CFS, the Qidi box, Klipper and Snapmaker all resolve a tray to a preset by id alone, first hit wins. Those ids were written by hand, and on `main` 99 of them stand for 674 different products — `GFL99` alone covers 132, from Anycubic PLA to Bambu PLA Matte. Every consequence is silent: a spool resolves to whichever preset happens to load first, tray names and support-material flags are read off the wrong material, and the second preset holding a duplicated id disappears from the tray-edit dialog entirely. The id is now a hash of `(filament_vendor, filament_type, filament name)`, so one spool product carries one id in every bundle that ships it, two vendors shipping the same product converge on it without coordinating, and a collision cannot be authored by hand. Every ambiguity across 48 vendors is fixed rather than excused — no grandfather list and no per-vendor carve-out, Bambu's bundle included — and the resulting landscape is frozen in `scripts/filament_id_snapshot.json`, so a change to any filament's identity lands as a reviewable diff to one file. CI now runs the duplicate-subtype validation tree-wide instead of over Bambu only. Letting the id follow the product meant correcting the identities themselves. Generics that shipped under a vendor prefix now have one name and one id everywhere (`Blocks Generic PETG` is `Generic PETG @Blocks`), presets whose `filament_vendor` or `filament_type` contradicted the spool are fixed, and duplicate pairs are collapsed onto the better-configured survivor. Renames carry `renamed_from`, so existing projects and user presets keep resolving. Bambu's printers, its AMS and its cloud know only Bambu's own catalog ids, so those ids leave the profiles entirely. The Bambu bundle mints like every other vendor, and the printer agent swaps in the catalog value only where an id crosses to or from a Bambu printer — outbound MQTT and FTP, the AMS mapping sent with a job, the ids written into a 3mf the printer will read — mapping back on the way in, so status messages, SD-card prints and projects saved by an older Orca or by BambuStudio all still resolve. The correspondence is generated from BambuStudio's own shipped bundle by `scripts/update_bambu_filament_ids.py`; an id with no row is forwarded untouched, a missing or malformed map degrades to no translation rather than taking the app down, and an agent whose printers already speak Orca's ids translates nothing. Two device-side bugs this work surfaced are fixed here as well. The Orca Filament Library was missing from the AMS material and calibration dialogs, which treated a filament with no `compatible_printers` as compatible with nothing while the rest of the app treats it as compatible with everything; and Creality CFS sync on a K2-family stock 0.4 nozzle picked the wrong preset, an imprecise matcher that duplicate ids had been masking. `docs/HLSD/filament_id.md` is the authoring rule for all of this. `scripts/orca_id_tool.py` mints both `filament_id` and `setting_id`, replacing `assign_vendor_setting_ids.py`, and the local `check_profile` scripts gained per-vendor scoping so one vendor can be checked without a tree-wide run. `scripts/tests/` covers the tooling; `tests/slic3rutils/` covers the boundary translation and the CFS matcher. Ids change for most products and nothing forwards the old value, so a tray or a calibration record still holding one falls back to matching by filament type until the filament is selected once. Beyond the profile fixes above no print settings change, except that a few presets stop claiming printers a dedicated variant already covers. # Screenshots/Recordings/Graphs <!-- > Please attach relevant screenshots to showcase the UI changes. > Please attach images that can help explain the changes. --> ## Tests <!-- > Please describe the tests that you have conducted to verify the changes made in this PR. --> `scripts/check_profile.sh`, the local twin of the "Check profiles" CI job, with `scripts/check_profile.bat` as its Windows entry point, passes on this branch: the extra JSON check reports no errors and no warnings, system validation and the now tree-wide filament-subtype check load all 66 vendors cleanly, all 1013 printer presets slice, and custom-preset validation passes against every fixture archive from v1.9.0 to v2.4.2. The id tooling has 176 unit tests (`python -m unittest discover -s scripts/tests`). The C++ suites pass too — 332 in `tests/libslic3r` and 126 in `tests/slic3rutils`, the latter including the boundary-translation and Creality CFS matching cases added here. <!-- > A guide for users on how to download the artifacts from this PR. --> [How to Download Pull Requests Artifacts for Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
This commit is contained in:
13
.github/workflows/check_profiles.yml
vendored
13
.github/workflows/check_profiles.yml
vendored
@@ -9,6 +9,10 @@ on:
|
||||
- release/*
|
||||
paths:
|
||||
- 'resources/profiles/**'
|
||||
# The extra JSON check also validates resources/printers/bambu_filament_ids.json,
|
||||
# and lives in scripts/, so a PR touching only those must still run this workflow.
|
||||
- 'resources/printers/**'
|
||||
- 'scripts/**'
|
||||
- ".github/workflows/check_profiles.yml"
|
||||
|
||||
workflow_dispatch:
|
||||
@@ -64,13 +68,14 @@ jobs:
|
||||
set +e
|
||||
./OrcaSlicer_profile_validator -p ${{ github.workspace }}/resources/profiles -s -l 2 2>&1 | tee ${{ runner.temp }}/validate_slice.log
|
||||
exit ${PIPESTATUS[0]}
|
||||
# For now run filament subtype check only for BBL profiles until we fix other vendors' profiles.
|
||||
- name: validate filament subtype check for BBL profiles
|
||||
# All vendors' filament_id collisions were fixed (see scripts/filament_id_snapshot.json),
|
||||
# so the duplicate-filament-subtype check runs tree-wide.
|
||||
- name: validate filament subtype check
|
||||
id: validate_filament_subtypes
|
||||
continue-on-error: true
|
||||
run: |
|
||||
set +e
|
||||
./OrcaSlicer_profile_validator -p ${{ github.workspace }}/resources/profiles -l 2 -v BBL -f 2>&1 | tee ${{ runner.temp }}/validate_filament_subtypes.log
|
||||
./OrcaSlicer_profile_validator -p ${{ github.workspace }}/resources/profiles -l 2 -f 2>&1 | tee ${{ runner.temp }}/validate_filament_subtypes.log
|
||||
exit ${PIPESTATUS[0]}
|
||||
|
||||
- name: validate custom presets
|
||||
@@ -217,7 +222,7 @@ jobs:
|
||||
fi
|
||||
|
||||
if [ "${{ steps.validate_filament_subtypes.outcome }}" = "failure" ]; then
|
||||
echo "### BBL Filament Subtype Validation Failed"
|
||||
echo "### Filament Subtype Validation Failed"
|
||||
echo ""
|
||||
echo '```'
|
||||
head -c 30000 ${{ runner.temp }}/validate_filament_subtypes.log || echo "No output captured"
|
||||
|
||||
508
docs/HLSD/filament_id.md
Normal file
508
docs/HLSD/filament_id.md
Normal file
@@ -0,0 +1,508 @@
|
||||
# Filament IDs (`filament_id`)
|
||||
|
||||
`filament_id` identifies one **filament product**: one named spool product = one id, shared by
|
||||
all of that product's per-printer / per-nozzle variants, in every profile bundle that ships it.
|
||||
Devices use it to match a physical spool or tray to a filament preset. It is never per-color,
|
||||
per-printer, per-nozzle, or per-preset (per-preset identity is `setting_id`), and it is never
|
||||
per-bundle either — PolyLite PLA carries the same id whether the preset lives in the
|
||||
OrcaFilamentLibrary (OFL), Qidi, or Snapmaker bundle. The granularity is the name on the spool,
|
||||
not the brand behind it: `AAA PLA Lite` and `AAA PLA Pro` are two filaments with two ids, not
|
||||
variants of one.
|
||||
|
||||
**How it is generated:** an id is computed, never invented. `scripts/orca_id_tool.py`
|
||||
mints it as a deterministic hash of the product's identity — the triple
|
||||
`(filament_vendor, filament_type, filament name)`, where the filament name is the preset name
|
||||
with its `@...` variant suffix stripped — producing an 8-character `OF*` code that is the
|
||||
same for that product in every bundle, in every PR, on every machine. For example, Polymaker's
|
||||
PolyLite PLA presets (`PolyLite PLA @base`, `PolyLite PLA@Q2-Series`, …) resolve
|
||||
`filament_vendor` `Polymaker`, `filament_type` `PLA`, and filament name `PolyLite PLA`; hashing
|
||||
`filament_product/Polymaker/PLA/PolyLite PLA` yields `OF5CgdDq`, and that is the id the
|
||||
OrcaFilamentLibrary, OrcaArena, Qidi, and Snapmaker bundles all arrive at independently
|
||||
(derivation details in the Minting section).
|
||||
|
||||
**How it is used:** at runtime the id is the join key between hardware and profiles.
|
||||
When a printer reports what a tray holds (Bambu AMS, Qidi box, Creality CFS,
|
||||
Klipper, Snapmaker), OrcaSlicer matches the reported id against the filament presets
|
||||
compatible with that printer to select the right profile; other features — tray display
|
||||
names, support-material detection, vitrification warnings, multi-nozzle filament grouping —
|
||||
look up material properties by id alone. An id that changes is not forwarded anywhere: a
|
||||
tray or record still holding the old value falls back to matching by material type until the
|
||||
user re-selects the filament, so identity changes are made deliberately and rarely.
|
||||
|
||||
This page is the rule for authoring `filament_id` in system profiles
|
||||
(`resources/profiles/**`). CI enforces everything below; the short version is:
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **Never write a `filament_id` value by hand.** A new filament gets its id from
|
||||
> `python scripts/orca_id_tool.py --generate`; one already in the tree has one — inherit it.
|
||||
|
||||
## The design, in two pieces
|
||||
|
||||
Because several consumers match **globally by id alone, first hit wins** (see the next
|
||||
section), any two materials sharing one id feed wrong data somewhere — a wrong tray name, a
|
||||
wrong support-material flag, a wrong nozzle grouping — and inside one printer a duplicated id
|
||||
makes AMS spool matching a coin toss. Hand-written ids produce such collisions constantly, so
|
||||
the system is built to make them impossible:
|
||||
|
||||
1. **Deterministic minting.** An id is a pure hash of the product's identity — no registry to
|
||||
maintain, no next-free-number ceremony, no way for two concurrent PRs to race for the same
|
||||
number, and no way to get it wrong by hand, because you never write it by hand.
|
||||
2. **A sanctioned snapshot.** The complete id landscape derived from the tree must equal
|
||||
`scripts/filament_id_snapshot.json` exactly, so every change to ids, claims (which bundles
|
||||
ship which id, and for which filament), or product identity surfaces as a reviewable diff to
|
||||
one file — the maintainer gate.
|
||||
|
||||
## Who consumes the id
|
||||
|
||||
The canonical consumer is tray-to-preset matching: a device reports a tray material id
|
||||
(`tray_info_idx`), and the shared matching pipeline (`PresetBundle::sync_ams_list` and
|
||||
friends) resolves it to a preset. The matcher is printer-scoped and first-match-wins:
|
||||
scanning only compatible root presets — system roots plus user-made custom filaments, which
|
||||
are user roots carrying their own `P*` ids; a preset derived from another resolves through
|
||||
its root and never matches directly — it picks the first one whose `filament_id` equals the
|
||||
tray's. On a miss it falls back by filament type: a system `Generic <type>` preset
|
||||
(matched by name, then by type similarity), else the slot's previous selection, else any compatible system generic or,
|
||||
failing that, any compatible system preset, else the slot is skipped — every fallback
|
||||
selection surfaces a user-visible notice.
|
||||
|
||||
Today only the Bambu AMS integration follows this pattern end to end — the device itself
|
||||
reports the id, `BBLPrinterAgent` translates it out of Bambu's catalog into ours, and the
|
||||
pipeline does all the matching. The other device integrations still synthesize a preset id
|
||||
client-side in their agents (by type, brand, or color lookups against the loaded presets)
|
||||
before the pipeline runs; they are intended to converge on the same pattern, with the
|
||||
device-reported tray material id flowing through the shared matcher.
|
||||
|
||||
| Ecosystem | Where the tray id comes from today |
|
||||
| --- | --- |
|
||||
| Bambu AMS | the device itself (RFID / user tray setting), in Bambu's own `GF*` catalog; `BBLPrinterAgent` rewrites it into our id before the matcher sees it (see [The Bambu catalog map](#the-bambu-catalog-map)) |
|
||||
| Qidi box | composed at runtime as `QD_<series>_<vendor>_<typeidx>` — vendor and type indices from the device's per-slot saved variables, the series digit inferred client-side from the printer model/name. No preset carries a `QD_*` value, so the slot currently resolves by filament type; mapping the composed id onto the filament's minted id belongs in the agent |
|
||||
| Creality CFS | runtime brand/type scoring returns the winning preset's id |
|
||||
| Klipper (AFC / Happy Hare) | runtime lookup by filament type |
|
||||
| Snapmaker | runtime color/vendor/type match |
|
||||
|
||||
Tray-to-preset matching is printer-scoped, but **several consumers match globally by id alone,
|
||||
first hit wins**: tray display names, `filament_is_support`, vitrification warnings, and
|
||||
multi-nozzle filament grouping in the slicing pipeline (`FilamentGroup::try_merge_filaments`
|
||||
merges plate slots sharing one `(filament_id, color)` pair, with matching
|
||||
extruder-printability, onto one nozzle group; the engine is implemented but no grouping path
|
||||
calls it yet).
|
||||
Two *different* materials sharing one id
|
||||
feed wrong data to those consumers even when the presets live in different vendors — so
|
||||
cross-material id sharing is never safe. Within one printer, duplicate ids break AMS matching:
|
||||
the matcher picks whichever preset loads first (it now logs an "Ambiguous AMS filament match"
|
||||
warning, but the pick is still arbitrary) and the tray-edit dialog, which lists one entry per
|
||||
id, hides the second preset entirely. The profile validator's `-f` check
|
||||
(`check_filament_subtypes` → `PresetBundle::check_duplicate_filament_subtypes`) rejects this
|
||||
per printer, and CI runs it tree-wide.
|
||||
|
||||
Two more consumer-side facts worth knowing:
|
||||
|
||||
- The machine-facing dialogs (AMS tray edit, AMS dry control, calibration history, extrusion
|
||||
calibration) offer the filaments a connected printer can use by the same compatibility rule
|
||||
the plater uses (an empty `compatible_printers` means *every* printer). Alias shadowing
|
||||
still applies: a vendor's same-name profile supersedes the library generic. That is what
|
||||
puts Orca Filament Library materials in those lists — deduplicated to one entry per
|
||||
`filament_id` in the AMS and calibration-history dialogs, while extrusion calibration
|
||||
deliberately lists every matching preset by full name.
|
||||
- The id is load-bearing at startup: an instantiated system filament (one marked
|
||||
`"instantiation": "true"` — see the structure rules) that resolves **no**
|
||||
`filament_id` anywhere in its `inherits` chain is a hard load error in the C++ loader
|
||||
(`Can not find filament_id for <name>`) that discards the entire vendor bundle (for the
|
||||
OrcaFilamentLibrary itself the failure is messier: library presets loaded before the
|
||||
failing one survive, and every vendor bundle whose filaments inherit from the library is
|
||||
then discarded for want of a base). CI's structure check catches this before it ships.
|
||||
|
||||
## Do I need a new id? The one-question test
|
||||
|
||||
> **Would a user consider this a different spool product than anything already in the tree?**
|
||||
|
||||
Different polymer, different sub-brand (Basic / Matte / Silk / HF), fiber-filled sibling, or a
|
||||
second selectable diameter → **new filament, new id**. The same spool tuned for another printer
|
||||
or nozzle → **join the existing filament** (keep its base name and inherit it; no id
|
||||
key needed). Tuning a generic material → **join the OrcaFilamentLibrary filament** (inherit
|
||||
`Generic X @System` and keep the `Generic X` base name; no id key needed).
|
||||
|
||||
| Situation | id |
|
||||
| --- | --- |
|
||||
| Per-printer / per-nozzle variant of an existing material | same id (inherit it) |
|
||||
| Sub-brand or product line (PLA vs PLA Matte vs PLA Silk vs PLA HF) | new id each |
|
||||
| Color | never a new id |
|
||||
| Second diameter of the same product (1.75 + 2.85) | sibling filament, new id |
|
||||
| "High-speed" tuned for a *different printer model* | same id (it is a printer variant) |
|
||||
| "High-speed" selectable *alongside* the normal preset on one printer | new name, so a new id (it is a product line) |
|
||||
|
||||
## Structure rules
|
||||
|
||||
1. **Every preset carries the id of its own product, wherever it gets it from.** The id is a
|
||||
function of the preset's own triple (rule 5), and `inherits` carries settings, never
|
||||
identity. So a preset may declare the key itself or inherit it from any ancestor — a
|
||||
`<Filament> @base` root, a real (instantiated) preset of the same filament, an
|
||||
OrcaFilamentLibrary preset — and CI checks one thing: the id it ends up with equals the
|
||||
mint of *its* triple. The usual shape is one `@base` root (`"instantiation": "false"`)
|
||||
declaring the key and the per-printer variants inheriting it; a filament may have several
|
||||
roots — Qidi's PolyLite PLA has four per-series roots (`PolyLite PLA@Q2-Series`,
|
||||
`@Q2C-Series`, `@X-Max 4-Series`, `@X-Plus 5-Series`) — which then all declare the identical
|
||||
id. A branded filament that borrows a generic's settings (`Flashforge ABS Basic @FF C5`
|
||||
inherits `Generic ABS @System`) declares its own id, because its triple is its own.
|
||||
2. **The filament name is the base name**: the preset name with everything from the first
|
||||
(optionally space-preceded) `@` stripped. `MyBrand PLA @Orca 3D Fuse1` and `MyBrand PLA@HS`
|
||||
are both the filament `MyBrand PLA`.
|
||||
3. **Within one filament, variants' `compatible_printers` are pairwise disjoint** — per printer,
|
||||
at most one compatible instantiated preset per id, or AMS matching turns ambiguous. The
|
||||
C++ validator's `-f` check enforces this, tree-wide in CI. Since one product carries one id
|
||||
and cannot be split onto two, this rule is the *only* remedy for such an ambiguity: narrow
|
||||
the `compatible_printers`, or retire the preset that duplicates another.
|
||||
4. **Generics belong to OrcaFilamentLibrary.** A vendor tuning a generic material inherits
|
||||
`Generic X @System`, keeps the `Generic X` base name (that alias is what hides the library
|
||||
preset on your printers, and it is what makes its triple — and so its id — the library's)
|
||||
and sets a non-empty `compatible_printers` — e.g. `Generic PLA @Sovol SV08 MAX` inherits
|
||||
`Generic PLA @System` and lists three Sovol nozzles. Renaming such a preset makes it a
|
||||
different product by rule 5, so it then needs its own id.
|
||||
5. **Ids follow the product identity.** The id is a pure function of the product triple
|
||||
`(filament_vendor, filament_type, filament name)`, so correcting any of them re-mints the id
|
||||
**by design**, applied by `--generate` (preview with `--dry-run`, confine with `--vendor`) and
|
||||
gated by the `--update-snapshot` diff; the exact sequence is in the FAQ. Nothing forwards
|
||||
the old value, so anything outside the tree that stored it — a device tray, a calibration
|
||||
record, a saved project — falls back to matching by filament type until the user re-selects
|
||||
the filament. Re-mint deliberately, and only to fix a genuinely wrong identity.
|
||||
(`renamed_from` still gates preset-*name* compatibility, as before.)
|
||||
|
||||
## Minting — nobody invents ids
|
||||
|
||||
New ids are deterministic, computed exactly like the `setting_id` precedent
|
||||
(the `setting_id` half of `scripts/orca_id_tool.py`):
|
||||
|
||||
```text
|
||||
FILAMENT_ID_NAMESPACE = uuid5(setting-id NAMESPACE, "filament_id")
|
||||
= c4d3ff49-4c32-5534-a3e3-00894157ab97
|
||||
filament_id = "OF" + base62_6( uuid5(FILAMENT_ID_NAMESPACE,
|
||||
"filament_product/<filament_vendor>/<filament_type>/<filament_name>") )
|
||||
```
|
||||
|
||||
`base62_6` is the low 6 base62 digits (alphabet `0-9A-Za-z`) of the UUID taken as a big-endian
|
||||
integer, most-significant digit first; with the `OF` prefix the full id is 8 chars, within the
|
||||
AMS length limit. The triple comes from the root preset's *flattened* config:
|
||||
`<filament_vendor>` is the filament
|
||||
**manufacturer** (`"Polymaker"`, or `"Generic"` for generics — never the printer brand),
|
||||
`<filament_type>` the material type, `<filament_name>` the root's base name; the two config
|
||||
values are inheritable list options and the first element counts.
|
||||
|
||||
Content-addressing on that triple is what makes the whole system converge. The key contains no
|
||||
bundle name, so the same product mints the same id in every bundle — moving a filament into
|
||||
OrcaFilamentLibrary never changes its id, and two vendors independently shipping the same
|
||||
product arrive at the same id without coordinating. `Polymaker/PLA/PolyLite PLA` mints
|
||||
`OF5CgdDq`, and that one id is declared by the OrcaFilamentLibrary, OrcaArena, Qidi, and
|
||||
Snapmaker bundles alike; the OFL generic `Generic/PLA/Generic PLA` mints `OFDSrzZ8`, claimed
|
||||
by 35 bundles — most by independent declarations converging on the same mint, the rest
|
||||
purely through inheritance from the OFL preset.
|
||||
|
||||
Nothing but the triple feeds the mint — not the rest of the tree, not the snapshot, not what
|
||||
another preset of the product happens to carry. Determined triple, determined id: one product
|
||||
carries one id and there is no second acceptable value for it, so any other value on a preset
|
||||
is a mismatch `--check` reports and `--generate` pulls back. Two *different* products whose
|
||||
triples mint the same base62 value would be a collision (a roughly 36-bit id space against a
|
||||
few thousand products); nothing salts past it: `--check` reports it naming both products,
|
||||
`--generate` refuses to write it, and the remedy is a rename so their triples differ. Where
|
||||
two presets of one product would be AMS-ambiguous on a printer, the fix is likewise in the
|
||||
profiles — make their `compatible_printers` disjoint (structure rule 3), retire the redundant
|
||||
preset, or, if they really are different products, give them different names so their triples
|
||||
differ. Never a second id for one triple.
|
||||
|
||||
Workflow for a new filament:
|
||||
|
||||
```bash
|
||||
# 1. Author the filament with NO filament_id key anywhere.
|
||||
python scripts/orca_id_tool.py --dry-run # 2. preview the ids — writes nothing
|
||||
python scripts/orca_id_tool.py --generate # 3. apply them to the profile file(s)
|
||||
python scripts/orca_id_tool.py --update-snapshot # 4. record the new claims in the snapshot
|
||||
python scripts/orca_id_tool.py --check # 5. validate the filament_id state
|
||||
python scripts/orca_extra_profile_check.py # 6. ...and everything else CI checks
|
||||
# 7. Commit the profile edits together with scripts/filament_id_snapshot.json, for review.
|
||||
```
|
||||
|
||||
`--generate` makes every filament's id equal the mint of its own
|
||||
`(filament_vendor, filament_type, filament name)` triple: it inserts one where an instantiated
|
||||
filament resolves none, and re-derives one that does not match. A preset that *inherits* a
|
||||
mismatching id is the one case left to the author — check 3b names it, and the fix is to inherit
|
||||
a preset of the same filament or to give the preset its own key. A declaration is left alone
|
||||
exactly when it already equals the one id its triple mints, and a collision (check 3d) is
|
||||
reported and left unwritten. The same run assigns
|
||||
`generate_preset_setting_id(vendor, type, name)` to every instantiated filament, process
|
||||
and machine preset of every vendor except BBL, which keeps its authoritative `G*` ids, strips
|
||||
`setting_id` from base profiles, and fixes the misspelled `settings_id` key — dropped, or, for
|
||||
BBL, whose ids have no formula to fall back on, restored under the correct name. It is idempotent and
|
||||
byte-preserving (indentation, BOM, and line endings intact, every edited file re-parsed to fail
|
||||
loudly), and a no-op on a tree that already passes `scripts/orca_extra_profile_check.py` — the
|
||||
check CI runs over both id kinds, of which `--check` is the `filament_id` half.
|
||||
|
||||
- `--filament-id` limits the run to `filament_id`.
|
||||
- `--setting-id` limits the run to `setting_id`. The two exclude each other; pass neither to
|
||||
write both.
|
||||
- `--vendor VENDOR` confines the run to that bundle; repeatable. The id is a function of the
|
||||
triple alone, so a narrowed run writes exactly what a full one would; `--check` reports
|
||||
whatever it left outside.
|
||||
- `--dry-run` reports what `--generate` would do and writes nothing; with no mode of its own it
|
||||
implies `--generate`, so `--dry-run --vendor <Vendor>` previews just that bundle.
|
||||
- `--profiles DIR` points the tooling at a different profile tree (default
|
||||
`resources/profiles`). `--check` and `--update-snapshot` read and write the sanctioned state of
|
||||
the tree they are given, so pointing them elsewhere needs `--snapshot PATH` for that tree too —
|
||||
`scripts/filament_id_snapshot.json` describes `resources/profiles` and no other tree.
|
||||
|
||||
**Identity fixes need no separate mode.** `--generate` re-derives an id that no longer matches its
|
||||
triple exactly the way it fills in a missing one, so a rename or a `filament_vendor` /
|
||||
`filament_type` correction is just: fix the config, run `--generate` (confine it with `--vendor`,
|
||||
preview it with `--dry-run`), then `--update-snapshot` and review the diff.
|
||||
|
||||
If you skip the tooling, CI fails and prints the remedy: the expected id for your filament and
|
||||
the instruction to run `python scripts/orca_id_tool.py --generate`; once the id is minted, the
|
||||
snapshot checks likewise point at `--update-snapshot` and tell you to commit the resulting
|
||||
diff.
|
||||
|
||||
## Reserved namespaces — never mint or hand-write into
|
||||
|
||||
A **reserved namespace** is an id space no system profile may declare, because an external
|
||||
catalog or a device protocol owns the values. None of them has an owning vendor: there is no
|
||||
bundle — not even the one whose printers use the catalog — that may write one into a profile.
|
||||
|
||||
| Space | Status | Rule |
|
||||
| --- | --- | --- |
|
||||
| `GF*` | Bambu AMS/RFID catalog | declarable by **nobody**, BBL included: Bambu's own ids live in the generated catalog map, never in a profile |
|
||||
| `QD_*` | Qidi device protocol | declarable by **nobody**, Qidi included: the box composes these ids at runtime and they are not preset ids |
|
||||
| `P` + 7 hex chars (case-insensitive), `"null"` | user-created custom filaments (`CreatePresetsDialog.cpp`) | never appears in system profiles |
|
||||
|
||||
The two device namespaces, in detail:
|
||||
|
||||
- **Bambu (`GF*`).** Bambu's device/RFID/cloud catalog is external and opaque, which is a
|
||||
reason to keep it out of the profiles rather than to let one bundle own it. Every BBL filament
|
||||
mints an `OF` id from its triple like every other vendor's, and the correspondence to Bambu's
|
||||
catalog ids lives in one generated file the app applies at the printer boundary — the next
|
||||
section. Nothing under `resources/profiles/**` carries a `GF*` id today and nothing can be
|
||||
exempted, so a `GF*` id appearing anywhere in the tree is a mistake, whoever wrote it.
|
||||
- **Qidi (`QD_*`).** `QD_*` is a device-*protocol* namespace, not a preset id space: the
|
||||
Qidi box path composes `QD_<series>_<vendor>_<typeidx>` ids at runtime (slot vendor and
|
||||
type indices reported by the device, the series digit inferred client-side from the printer
|
||||
model/name). Qidi presets carry ordinary minted `OF*` ids (generics share the OFL ids), so
|
||||
a composed id matches no preset and the slot falls back to filament type; translating it to
|
||||
the filament's id belongs in `QidiPrinterAgent`. The alternative — treating per-series
|
||||
protocol ids as preset ids — would put one product under five ids (`QIDI PLA Rapido` would
|
||||
be `QD_0_1_1` through `QD_4_1_1`), exactly the fragmentation the mint rule removes.
|
||||
|
||||
## The Bambu catalog map
|
||||
|
||||
Bambu's printers, its AMS and its cloud know only Bambu's own catalog ids. Our profiles carry
|
||||
minted `OF` ids like every other vendor's, so one generated file records the correspondence and
|
||||
the app applies it **only where an id crosses to or from a Bambu printer**.
|
||||
|
||||
**The file** is `resources/printers/bambu_filament_ids.json` — a header plus one row per
|
||||
catalogued product, keyed by our id:
|
||||
|
||||
```json
|
||||
{
|
||||
"source": "https://github.com/bambulab/BambuStudio",
|
||||
"bambustudio_commit": "66e405477",
|
||||
"generated": "2026-09-04",
|
||||
"filaments": {
|
||||
"OFhuaUQB": { "bambu_id": "GFB00", "vendor": "Bambu Lab", "type": "ABS", "name": "Bambu ABS" }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
It ships in `resources/printers/`, next to `filaments_blacklist.json` — deliberately not in
|
||||
`resources/profiles/`, where the loader reads every top-level `.json` as a vendor index. It
|
||||
holds 100 rows today, one per product BambuStudio ships, and the correspondence is
|
||||
one-to-one in both directions.
|
||||
|
||||
**It is generated, never hand-edited.** `python scripts/update_bambu_filament_ids.py` rebuilds
|
||||
it from **BambuStudio's own shipped BBL bundle** — a sparse shallow clone of upstream `master`,
|
||||
or `--bambustudio-dir <a BambuStudio resources/profiles checkout>`. Our BBL bundle is a fork of
|
||||
Bambu's, tuned and extended independently, so it is not the source of truth for Bambu's ids.
|
||||
A row's key is the id the product's `(filament_vendor, filament_type, filament name)` triple
|
||||
mints — the same id any bundle of ours carries for it, since the id is a function of the triple
|
||||
alone; the row of a product we do not ship sits inert until some bundle claims that triple —
|
||||
`OFdyfQvU` / `GFG03`, "Bambu PETG Matte", is such a row today.
|
||||
|
||||
**Regenerate it in the same commit as every BBL profile sync**, and read the drift report it
|
||||
prints. Two lines, both informational, neither blocking the write:
|
||||
|
||||
```text
|
||||
upstream ships 'Bambu PETG Matte' (Bambu Lab/PETG), we ship nothing with that identity
|
||||
Orca BBL filaments with no row: 135 Orca-only product(s)
|
||||
```
|
||||
|
||||
The first names each upstream product our BBL bundle has no same-identity filament for —
|
||||
sometimes a genuinely missing product, sometimes a name drift a follow-up rename would
|
||||
converge. The second counts our own BBL filaments that matched no row: 135 of 234 today, of
|
||||
which 109 send an `OF` id on the wire and 26 already rode `OF` ids inherited from the
|
||||
OrcaFilamentLibrary. **135 is the number to expect at every regeneration** — 109 was the
|
||||
one-off size of the transition and stopped being computable from the tree once the BBL bundle
|
||||
was re-minted, so do not "fix" the report to print it.
|
||||
|
||||
**Check 6** lives in `check_filament_ids`, so profile CI runs it alongside the other five. It
|
||||
holds the file to its contract: it parses, carries `source` / `bambustudio_commit` /
|
||||
`generated`, keys only `OF`-format ids, maps each Bambu id at most once, and — for every row
|
||||
whose key the tree actually claims — agrees with the tree on that id's `(vendor, type, name)`
|
||||
triple. A row for a product we do not ship is skipped, not an error. The remedy it prints is
|
||||
always the same: regenerate the map and commit the diff for review.
|
||||
|
||||
### The runtime rule: swap on hit
|
||||
|
||||
Outbound, our id with a row becomes Bambu's; inbound, Bambu's id with a row becomes ours.
|
||||
Everything else is forwarded untouched — an `OF` id with no row, a Bambu id for a product we do
|
||||
not ship, a `P`-hex user id, `"null"`, an empty string. Translation is confined to the
|
||||
boundary: nothing between the boundaries ever holds a Bambu id.
|
||||
|
||||
Translating one value is a capability of the printer agent: `IPrinterAgent` declares
|
||||
`to_orca_filament_id` and `from_orca_filament_id` returning their argument, and `BBLPrinterAgent`
|
||||
overrides them with Bambu's map, so an agent whose printers already speak our ids inherits the
|
||||
identity default and translates nothing. `NetworkAgent` forwards both to the live agent, so the
|
||||
comparison sites below reach them through `wxGetApp().getAgent()` and leave an id untranslated
|
||||
while no agent is live. Whole documents are Bambu's business alone:
|
||||
`BBLPrinterAgent::to_orca_payload` and `from_orca_payload` rewrite every string under
|
||||
`tray_info_idx`, `filament_id` or `filamentId` at any depth; text that does not parse, or carries
|
||||
none of those keys, comes back unchanged. The map is loaded once, lazily; a missing or malformed
|
||||
file degrades to identity with a log line rather than failing.
|
||||
|
||||
| Boundary | Where it translates |
|
||||
| --- | --- |
|
||||
| Everything the agent sends | `BBLPrinterAgent::send_message` and `send_message_to_printer`, plus `PrintParams::ams_mapping_info` in `dispatch_start` — the funnel all five `start_*` calls share |
|
||||
| Everything the agent receives | `set_on_message_fn` and `set_on_local_message_fn` wrap their callback, so `MachineObject::parse_json` and everything downstream see our ids only |
|
||||
| 3mf export | `Plater::export_3mf` writes Bambu's ids into `slice_info.config`, gated on `preset_bundle.is_bbl_vendor()` — the printer reads that file and knows only its own catalog, and no other vendor's export is affected. The CLI has its own writer in `OrcaSlicer.cpp`; it does the same, gated on the `printer_model` prefix that already decides `Print::is_BBL_printer()` for that run |
|
||||
| Project ingest | `Plater::priv::load_files` reverse-maps the project's `filament_ids` before the bundle ingests them, so a project saved by an older Orca or by BambuStudio still resolves the same presets |
|
||||
| Prints from the printer's SD card | `SelectMachineDialog::update_print_required_data` reverse-maps each plate's slice-info ids as it adopts the plates, so the AMS mapping dialog pairs them with trays |
|
||||
| Bambu-specific comparisons | `CalibUtils.cpp`, `DeviceManager.cpp`, `DeviceCore/DevFilaSystem.cpp`, `DeviceCore/DevFilaBlackList.cpp`, `SelectMachine.cpp`, `AMSDryControl.cpp`, `AMSMaterialsSetting.cpp`, `PresetComboBoxes.cpp`, `ColorDecomposeSupport.cpp` |
|
||||
|
||||
That last row is the rule to follow when a new Bambu-specific behaviour is added: **translate
|
||||
the value you are about to compare, never the table you compare it against.** The shipped data
|
||||
those sites read is Bambu's and stays verbatim — `white_fila_ids` in
|
||||
`resources/printers/filaments_blacklist.json`, the calibration id lists in
|
||||
`resources/printers/<model>.json`, `fila_id` in
|
||||
`resources/profiles/BBL/filament/filaments_color_codes.json`.
|
||||
|
||||
`tests/slic3rutils/test_bambu_filament_ids.cpp` covers the lookups, the payload rewrite and the
|
||||
Bambu-specific rules. `orcaslicer_discover_tests` registers a Catch2 tag as a CTest **label**,
|
||||
not as part of the test name, so `-R` matches nothing here and the filter is `-L`:
|
||||
|
||||
```bash
|
||||
ctest --test-dir <build dir>/tests/slic3rutils -L BambuFilamentIds
|
||||
```
|
||||
|
||||
### Three places the map deliberately does not reach
|
||||
|
||||
The map and its lookups live in the GUI library, which libslic3r cannot link against and which a
|
||||
GUI-less build does not link at all. Three consequences are known and documented; none is worth
|
||||
pulling the map down into libslic3r for.
|
||||
|
||||
- **The support display type in `PrintConfig.cpp`.** `DynamicPrintConfig::get_filament_type`
|
||||
picks `PLA-S` / `Sup.PLA` and `PA-S` / `Sup.PA` for a support filament by testing
|
||||
`filament_id` against `GFS00` and `GFS01`, and otherwise falls back on `filament_type` — a
|
||||
fallback that returns those same two pairs for `"PLA"` and `"PA"`. Bambu Support W inherits
|
||||
`fdm_filament_pla` and Bambu Support G inherits `fdm_filament_pa`, so with their `OF` ids the
|
||||
fallback produces exactly what the id branches produced. (The only config that ever carries a
|
||||
singular `filament_id` key is the AMS tray config built in `Plater.cpp`, and that one never
|
||||
reaches this function.) These two lines are the only mention of a Bambu id anywhere in
|
||||
libslic3r, and they need no change.
|
||||
- **Config imports.** `PresetBundle::import_presets` (File ▸ Import ▸ Import Configs, for
|
||||
`.json` / `.zip` / `.orca_filament` / `.orca_printer` / `.orca_bundle`) and
|
||||
`PresetBundle::load_config_file` (the CLI's `--load-settings` of a G-code file with an
|
||||
embedded config) both parse inside libslic3r, out of the GUI's reach, so a Bambu id carried
|
||||
in such a file lands on the imported preset untranslated. The effect is bounded: that preset
|
||||
does not auto-match an AMS tray while the stale id is live, and the id does not survive
|
||||
being saved — `Preset::save` writes a `filament_id` key only for a preset whose `inherits` is
|
||||
empty, and on the next load an inheriting preset takes its parent's id. A known gap, and not
|
||||
a regression: nothing forwarded a stale id before either.
|
||||
- **A build configured without the GUI.** `target_link_libraries(OrcaSlicer libslic3r_gui)` sits
|
||||
inside `if (SLIC3R_GUI)` in `src/CMakeLists.txt`, so the lookups are not linkable when the GUI
|
||||
is off. The CLI's 3mf writer in `src/OrcaSlicer.cpp` therefore guards its translation with
|
||||
`#ifdef SLIC3R_GUI`, and a 3mf that such a build slices for a Bambu printer carries our `OF`
|
||||
ids in `slice_info.config` rather than Bambu's. Every shipped build enables the GUI, so this
|
||||
reaches only a purpose-built GUI-less binary.
|
||||
|
||||
One more thing worth recording before it is rediscovered:
|
||||
`SyncAmsInfoDialog::update_print_required_data` is a structural twin of the SD-card function
|
||||
above and carries no translation. It has no callers today and its plate list is only ever read
|
||||
for `printer_model_id`, so it is not a live gap — but wiring it up without adding the reverse
|
||||
map would silently reproduce the bug.
|
||||
|
||||
## How CI enforces this
|
||||
|
||||
Profile CI (`check_profiles.yml`) runs `check_filament_ids()` tree-wide via
|
||||
`scripts/orca_extra_profile_check.py`. Its ground truth is
|
||||
**`scripts/filament_id_snapshot.json` — the sanctioned state**: the id state derived from the
|
||||
tree must equal the snapshot exactly, in both directions. Any change to the id landscape
|
||||
therefore surfaces as a diff to that file, and **that snapshot diff is what maintainers review
|
||||
and gate in a PR**. Never edit the snapshot by hand — `--update-snapshot` regenerates it
|
||||
deterministically (running it twice changes nothing). The snapshot holds one map, `ids`: each
|
||||
entry is the product the id is minted from (`filament_vendor`, `filament_type`, `name`) and the
|
||||
`filaments` claiming it (`Vendor/Filament`), and it sanctions *state*, never exceptions: no check
|
||||
consults it to excuse a preset from a rule, and there is no grandfather list of any kind.
|
||||
|
||||
The checks, in brief:
|
||||
|
||||
- **Format** — every id occurring in the tree is `OF` + 6 base62 chars. No exceptions: not a
|
||||
snapshot entry, not BBL.
|
||||
- **Snapshot equality** — tree claims == snapshot claims **and** each id's declared triple ==
|
||||
its snapshot entry, both directions: any `filament_vendor`/`filament_type`/name change
|
||||
surfaces as a snapshot diff.
|
||||
- **Identity** — the id is a function of the triple alone. A declared `OF*` id must equal the
|
||||
one id its declarer's own triple mints, with no second acceptable value; the id an
|
||||
instantiated preset *inherits* must equal the mint of *its* own triple, however it inherits
|
||||
it (a root, a real filament, a library preset — structure rule 1); and every instantiated
|
||||
system filament must resolve an effective id at all (recall: an id-less one is a hard load
|
||||
error in C++ that discards the whole vendor bundle); and no two products mint one id (a
|
||||
base62 collision, resolved by renaming one of them). The errors print the expected id.
|
||||
- **Reserved namespaces** — `GF*`, `QD_*`, `P<7-hex>` or `"null"` claimed by any vendor,
|
||||
BBL and Qidi included.
|
||||
- **Triple integrity** — every declarer must resolve a non-empty `filament_vendor` and
|
||||
`filament_type` (generics use `"Generic"`), and all declarers of one filament within a
|
||||
bundle must agree on the triple.
|
||||
- **Bambu catalog map** — `resources/printers/bambu_filament_ids.json` parses, carries its
|
||||
`source` / `bambustudio_commit` / `generated` header, keys only `OF`-format ids, maps each
|
||||
Bambu id at most once, and agrees with the tree on the triple of every row whose key the
|
||||
tree claims. See [The Bambu catalog map](#the-bambu-catalog-map); the remedy is always to
|
||||
regenerate, never to hand-edit.
|
||||
|
||||
A profile that declares a **reserved-namespace** id — `GF*`, `QD_*` or `P<7-hex>`, whatever
|
||||
its vendor — cannot pass the format check, so `--update-snapshot` refuses to sanction it
|
||||
rather than hide the mistake until CI. For a Bambu-cataloged product, the catalog map is where
|
||||
the correspondence belongs. Any other new sharing via a *declared* id is caught by the identity
|
||||
check; sharing through inheritance carries no declaration to check and surfaces only as a new
|
||||
claim in the snapshot diff — which is exactly why that diff is the gate.
|
||||
|
||||
`orca_extra_profile_check.py` separately holds every declared id to the AMS 8-character limit,
|
||||
tree-wide and for every vendor alike, scoped to the presets a vendor's index actually
|
||||
references (a file the index never loads cannot break AMS matching).
|
||||
|
||||
Complementing the Python checks, CI also runs the C++ profile validator with `-f`
|
||||
(`check_filament_subtypes`): it loads the bundle exactly as the app does and flags any printer
|
||||
for which two or more compatible filament presets share one `filament_id` — the runtime-shaped
|
||||
ambiguity check behind structure rule 3.
|
||||
|
||||
## FAQ
|
||||
|
||||
- **A new color of an existing product?** Never a new id — colors are not filaments.
|
||||
- **A second diameter (1.75 mm and 2.85 mm) of the same product?** A sibling filament with its
|
||||
own id: two diameters are separately selectable spool products.
|
||||
- **A high-speed tune of an existing material for another printer model?** Same filament:
|
||||
keep the base name and inherit its root; no id key needed.
|
||||
- **A tuned generic ("our profile for Generic PLA")?** Inherit `Generic PLA @System`, keep the
|
||||
`Generic PLA` base name, set `compatible_printers`; no id key needed.
|
||||
- **A branded filament that borrows a generic's settings?** Fine — inherit `Generic X @System`
|
||||
(or any real filament) for the settings and declare the id of your own filament; run
|
||||
`python scripts/orca_id_tool.py --generate` to mint it. Inheritance never changes the id.
|
||||
- **I need to fix a filament's `filament_vendor` or `filament_type`.** Fix the config, run
|
||||
`--generate --vendor <Vendor>` (preview with `--dry-run`), then `--update-snapshot`, and commit
|
||||
the profile and snapshot diffs together. The id re-derives from the corrected identity, and
|
||||
nothing forwards the old value, so a tray or record still holding it falls back to matching by
|
||||
filament type.
|
||||
- **I need to rename a filament.** Rename the presets (adding `renamed_from`, which keeps the
|
||||
preset *name* resolving), then `--generate --vendor <Vendor>` (preview with `--dry-run`), then
|
||||
`--update-snapshot`. The id follows the new filament name; as with any identity fix, the old id
|
||||
is not forwarded.
|
||||
- **Can I reuse a `QD_*` id for a Qidi profile?** No — nobody can. It is the device protocol's
|
||||
own id space: the box composes those values at runtime and no preset carries one. Author
|
||||
Qidi filaments like any other vendor's.
|
||||
- **CI says my filament needs an id.** Run `python scripts/orca_id_tool.py --generate`, then
|
||||
`--update-snapshot`, and commit both diffs. Do not type an id by hand.
|
||||
|
||||
For general profile authoring, see the profile development guide on the
|
||||
[OrcaSlicer wiki](https://www.orcaslicer.com/wiki).
|
||||
607
resources/printers/bambu_filament_ids.json
Normal file
607
resources/printers/bambu_filament_ids.json
Normal file
@@ -0,0 +1,607 @@
|
||||
{
|
||||
"bambustudio_commit": "66e405477",
|
||||
"filaments": {
|
||||
"OF0UJcb6": {
|
||||
"bambu_id": "GFG60",
|
||||
"name": "PolyLite PETG",
|
||||
"type": "PETG",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OF0wBGNx": {
|
||||
"bambu_id": "GFB51",
|
||||
"name": "Bambu ASA-CF",
|
||||
"type": "ASA-CF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OF1UNk9P": {
|
||||
"bambu_id": "GFP97",
|
||||
"name": "Generic PP",
|
||||
"type": "PP",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OF2GCW1l": {
|
||||
"bambu_id": "GFSNL08",
|
||||
"name": "SUNLU PETG",
|
||||
"type": "PETG",
|
||||
"vendor": "SUNLU"
|
||||
},
|
||||
"OF2VFe4J": {
|
||||
"bambu_id": "GFN04",
|
||||
"name": "Bambu PAHT-CF",
|
||||
"type": "PA-CF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OF342jVN": {
|
||||
"bambu_id": "GFA10",
|
||||
"name": "Bambu PLA Tough+",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OF4RvVuU": {
|
||||
"bambu_id": "GFT02",
|
||||
"name": "Bambu PPS-CF",
|
||||
"type": "PPS-CF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OF54B0S0": {
|
||||
"bambu_id": "GFN06",
|
||||
"name": "Bambu PPA-CF",
|
||||
"type": "PPA-CF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OF5CgdDq": {
|
||||
"bambu_id": "GFL00",
|
||||
"name": "PolyLite PLA",
|
||||
"type": "PLA",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OF6rdQ6M": {
|
||||
"bambu_id": "GFT98",
|
||||
"name": "Generic PPS-CF",
|
||||
"type": "PPS-CF",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OF74KeQR": {
|
||||
"bambu_id": "GFR98",
|
||||
"name": "Generic PHA",
|
||||
"type": "PHA",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OF7lOgYF": {
|
||||
"bambu_id": "GFG96",
|
||||
"name": "Generic PETG HF",
|
||||
"type": "PETG",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OF8Tlg47": {
|
||||
"bambu_id": "GFN96",
|
||||
"name": "Generic PPA-GF",
|
||||
"type": "PPA-GF",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OF8tPByX": {
|
||||
"bambu_id": "GFN97",
|
||||
"name": "Generic PPA-CF",
|
||||
"type": "PPA-CF",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OF9OlTWH": {
|
||||
"bambu_id": "GFA07",
|
||||
"name": "Bambu PLA Marble",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFAnyRUI": {
|
||||
"bambu_id": "GFS02",
|
||||
"name": "Bambu Support For PLA",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFBSW57R": {
|
||||
"bambu_id": "GFA11",
|
||||
"name": "Bambu PLA Aero",
|
||||
"type": "PLA-AERO",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFBw6eEG": {
|
||||
"bambu_id": "GFL05",
|
||||
"name": "Overture Matte PLA",
|
||||
"type": "PLA",
|
||||
"vendor": "Overture"
|
||||
},
|
||||
"OFCD8qiU": {
|
||||
"bambu_id": "GFR99",
|
||||
"name": "Generic EVA",
|
||||
"type": "EVA",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFDGigEI": {
|
||||
"bambu_id": "GFA13",
|
||||
"name": "Bambu PLA Dynamic",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFDSrzZ8": {
|
||||
"bambu_id": "GFL99",
|
||||
"name": "Generic PLA",
|
||||
"type": "PLA",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFDvXujf": {
|
||||
"bambu_id": "GFS99",
|
||||
"name": "Generic PVA",
|
||||
"type": "PVA",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFDxfPgH": {
|
||||
"bambu_id": "GFA08",
|
||||
"name": "Bambu PLA Sparkle",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFEGNJD4": {
|
||||
"bambu_id": "GFA05",
|
||||
"name": "Bambu PLA Silk",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFEkPBwx": {
|
||||
"bambu_id": "GFA12",
|
||||
"name": "Bambu PLA Glow",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFEswT5W": {
|
||||
"bambu_id": "GFA50",
|
||||
"name": "Bambu PLA-CF",
|
||||
"type": "PLA-CF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFFNYwWR": {
|
||||
"bambu_id": "GFN03",
|
||||
"name": "Bambu PA-CF",
|
||||
"type": "PA-CF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFFbSnCD": {
|
||||
"bambu_id": "GFA17",
|
||||
"name": "Bambu PLA Translucent",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFFvzqcd": {
|
||||
"bambu_id": "GFG00",
|
||||
"name": "Bambu PETG Basic",
|
||||
"type": "PETG",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFHWSM21": {
|
||||
"bambu_id": "GFL54",
|
||||
"name": "Fiberon PET-CF",
|
||||
"type": "PET-CF",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OFHa48An": {
|
||||
"bambu_id": "GFT01",
|
||||
"name": "Bambu PET-CF",
|
||||
"type": "PET-CF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFHmPYRy": {
|
||||
"bambu_id": "GFSNL04",
|
||||
"name": "SUNLU PLA+ 2.0",
|
||||
"type": "PLA",
|
||||
"vendor": "SUNLU"
|
||||
},
|
||||
"OFIBbYO5": {
|
||||
"bambu_id": "GFU02",
|
||||
"name": "Bambu TPU for AMS",
|
||||
"type": "TPU-AMS",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFIfnzxC": {
|
||||
"bambu_id": "GFS05",
|
||||
"name": "Bambu Support For PLA/PETG",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFKhMPeX": {
|
||||
"bambu_id": "GFC00",
|
||||
"name": "Bambu PC",
|
||||
"type": "PC",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFLJ8S6I": {
|
||||
"bambu_id": "GFSNL07",
|
||||
"name": "SUNLU Wood PLA",
|
||||
"type": "PLA",
|
||||
"vendor": "SUNLU"
|
||||
},
|
||||
"OFLPAxz3": {
|
||||
"bambu_id": "GFB98",
|
||||
"name": "Generic ASA",
|
||||
"type": "ASA",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFLakOUI": {
|
||||
"bambu_id": "GFC99",
|
||||
"name": "Generic PC",
|
||||
"type": "PC",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFMTK0UC": {
|
||||
"bambu_id": "GFS03",
|
||||
"name": "Bambu Support For PA/PET",
|
||||
"type": "PA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFMUWNkp": {
|
||||
"bambu_id": "GFSNL03",
|
||||
"name": "SUNLU PLA+",
|
||||
"type": "PLA",
|
||||
"vendor": "SUNLU"
|
||||
},
|
||||
"OFMjtqTC": {
|
||||
"bambu_id": "GFA16",
|
||||
"name": "Bambu PLA Wood",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFNk8bxk": {
|
||||
"bambu_id": "GFN08",
|
||||
"name": "Bambu PA6-GF",
|
||||
"type": "PA-GF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFOvv91M": {
|
||||
"bambu_id": "GFB60",
|
||||
"name": "PolyLite ABS",
|
||||
"type": "ABS",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OFPklMI1": {
|
||||
"bambu_id": "GFP99",
|
||||
"name": "Generic PE",
|
||||
"type": "PE",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFQ3e56w": {
|
||||
"bambu_id": "GFA15",
|
||||
"name": "Bambu PLA Galaxy",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFQHiNJs": {
|
||||
"bambu_id": "GFS01",
|
||||
"name": "Bambu Support G",
|
||||
"type": "PA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFQLcbps": {
|
||||
"bambu_id": "GFN98",
|
||||
"name": "Generic PA-CF",
|
||||
"type": "PA-CF",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFS2tn6G": {
|
||||
"bambu_id": "GFL53",
|
||||
"name": "Fiberon PA612-CF",
|
||||
"type": "PA",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OFTHDCqA": {
|
||||
"bambu_id": "GFA19",
|
||||
"name": "Bambu PLA Pure",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFTRZ8Y4": {
|
||||
"bambu_id": "GFG50",
|
||||
"name": "Bambu PETG-CF",
|
||||
"type": "PETG-CF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFUanySo": {
|
||||
"bambu_id": "GFA06",
|
||||
"name": "Bambu PLA Silk+",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFVCkX5w": {
|
||||
"bambu_id": "GFU01",
|
||||
"name": "Bambu TPU 95A",
|
||||
"type": "TPU",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFW29a9R": {
|
||||
"bambu_id": "GFL01",
|
||||
"name": "PolyTerra PLA",
|
||||
"type": "PLA",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OFWbdGsC": {
|
||||
"bambu_id": "GFL98",
|
||||
"name": "Generic PLA-CF",
|
||||
"type": "PLA-CF",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFX0ycRQ": {
|
||||
"bambu_id": "GFL52",
|
||||
"name": "Fiberon PA12-CF",
|
||||
"type": "PA-CF",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OFXIbw5D": {
|
||||
"bambu_id": "GFA01",
|
||||
"name": "Bambu PLA Matte",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFXkm8q1": {
|
||||
"bambu_id": "GFP96",
|
||||
"name": "Generic PP-CF",
|
||||
"type": "PP-CF",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFXzQ4yL": {
|
||||
"bambu_id": "GFB02",
|
||||
"name": "Bambu ASA-Aero",
|
||||
"type": "ASA-AERO",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFY9muEs": {
|
||||
"bambu_id": "GFB99",
|
||||
"name": "Generic ABS",
|
||||
"type": "ABS",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFYPdQJh": {
|
||||
"bambu_id": "GFG99",
|
||||
"name": "Generic PETG",
|
||||
"type": "PETG",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFaQMgRH": {
|
||||
"bambu_id": "GFA09",
|
||||
"name": "Bambu PLA Tough",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFc3xdm9": {
|
||||
"bambu_id": "GFL04",
|
||||
"name": "Overture PLA",
|
||||
"type": "PLA",
|
||||
"vendor": "Overture"
|
||||
},
|
||||
"OFcytyoA": {
|
||||
"bambu_id": "GFL06",
|
||||
"name": "Fiberon PETG-ESD",
|
||||
"type": "PETG",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OFd0Fv0k": {
|
||||
"bambu_id": "GFP98",
|
||||
"name": "Generic PE-CF",
|
||||
"type": "PE-CF",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFdyfQvU": {
|
||||
"bambu_id": "GFG03",
|
||||
"name": "Bambu PETG Matte",
|
||||
"type": "PETG",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFesA6rF": {
|
||||
"bambu_id": "GFL96",
|
||||
"name": "Generic PLA Silk",
|
||||
"type": "PLA",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFf6mfQO": {
|
||||
"bambu_id": "GFS06",
|
||||
"name": "Bambu Support for ABS",
|
||||
"type": "ABS",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFfBpSRI": {
|
||||
"bambu_id": "GFB01",
|
||||
"name": "Bambu ASA",
|
||||
"type": "ASA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFg57Nmc": {
|
||||
"bambu_id": "GFC01",
|
||||
"name": "Bambu PC FR",
|
||||
"type": "PC",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFg8ndtj": {
|
||||
"bambu_id": "GFN99",
|
||||
"name": "Generic PA",
|
||||
"type": "PA",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFgbpcy9": {
|
||||
"bambu_id": "GFU99",
|
||||
"name": "Generic TPU",
|
||||
"type": "TPU",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFhuaUQB": {
|
||||
"bambu_id": "GFB00",
|
||||
"name": "Bambu ABS",
|
||||
"type": "ABS",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFk8t9mz": {
|
||||
"bambu_id": "GFL55",
|
||||
"name": "Fiberon PETG-rCF",
|
||||
"type": "PETG-CF",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OFkOviHk": {
|
||||
"bambu_id": "GFL50",
|
||||
"name": "Fiberon PA6-CF",
|
||||
"type": "PA6-CF",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OFknl9Iz": {
|
||||
"bambu_id": "GFB50",
|
||||
"name": "Bambu ABS-GF",
|
||||
"type": "ABS-GF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFlfuj2k": {
|
||||
"bambu_id": "GFU04",
|
||||
"name": "Bambu TPU 85A",
|
||||
"type": "TPU",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFmN2lvw": {
|
||||
"bambu_id": "GFU98",
|
||||
"name": "Generic TPU for AMS",
|
||||
"type": "TPU-AMS",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFmpMwxS": {
|
||||
"bambu_id": "GFL95",
|
||||
"name": "Generic PLA High Speed",
|
||||
"type": "PLA",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFnfxTvi": {
|
||||
"bambu_id": "GFA18",
|
||||
"name": "Bambu PLA Lite",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFniMuTN": {
|
||||
"bambu_id": "GFN05",
|
||||
"name": "Bambu PA6-CF",
|
||||
"type": "PA6-CF",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFo2UF2C": {
|
||||
"bambu_id": "GFS97",
|
||||
"name": "Generic BVOH",
|
||||
"type": "BVOH",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFoYSJKi": {
|
||||
"bambu_id": "GFG98",
|
||||
"name": "Generic PETG-CF",
|
||||
"type": "PETG-CF",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFoiVqVM": {
|
||||
"bambu_id": "GFA00",
|
||||
"name": "Bambu PLA Basic",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFovEIbw": {
|
||||
"bambu_id": "GFG02",
|
||||
"name": "Bambu PETG HF",
|
||||
"type": "PETG",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFpPGSKG": {
|
||||
"bambu_id": "GFSNL05",
|
||||
"name": "SUNLU Silk PLA+",
|
||||
"type": "PLA",
|
||||
"vendor": "SUNLU"
|
||||
},
|
||||
"OFpW4gdi": {
|
||||
"bambu_id": "GFSNL02",
|
||||
"name": "SUNLU PLA Matte",
|
||||
"type": "PLA",
|
||||
"vendor": "SUNLU"
|
||||
},
|
||||
"OFq9svOz": {
|
||||
"bambu_id": "GFT97",
|
||||
"name": "Generic PPS",
|
||||
"type": "PPS",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFqINlYj": {
|
||||
"bambu_id": "GFL03",
|
||||
"name": "eSUN PLA+",
|
||||
"type": "PLA",
|
||||
"vendor": "eSUN"
|
||||
},
|
||||
"OFrKLeE3": {
|
||||
"bambu_id": "GFA02",
|
||||
"name": "Bambu PLA Metal",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFsFon5l": {
|
||||
"bambu_id": "GFS98",
|
||||
"name": "Generic HIPS",
|
||||
"type": "HIPS",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFsHSVZc": {
|
||||
"bambu_id": "GFS00",
|
||||
"name": "Bambu Support W",
|
||||
"type": "PLA",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFsijjtH": {
|
||||
"bambu_id": "GFP95",
|
||||
"name": "Generic PP-GF",
|
||||
"type": "PP-GF",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFtkLO6q": {
|
||||
"bambu_id": "GFU03",
|
||||
"name": "Bambu TPU 90A",
|
||||
"type": "TPU",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFu1evlr": {
|
||||
"bambu_id": "GFG97",
|
||||
"name": "Generic PCTG",
|
||||
"type": "PCTG",
|
||||
"vendor": "Generic"
|
||||
},
|
||||
"OFvKUnLh": {
|
||||
"bambu_id": "GFU00",
|
||||
"name": "Bambu TPU 95A HF",
|
||||
"type": "TPU",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFvrXuV7": {
|
||||
"bambu_id": "GFB61",
|
||||
"name": "PolyLite ASA",
|
||||
"type": "ASA",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OFwPrlCM": {
|
||||
"bambu_id": "GFG01",
|
||||
"name": "Bambu PETG Translucent",
|
||||
"type": "PETG",
|
||||
"vendor": "Bambu Lab"
|
||||
},
|
||||
"OFwaYjL6": {
|
||||
"bambu_id": "GFL51",
|
||||
"name": "Fiberon PA6-GF",
|
||||
"type": "PA-GF",
|
||||
"vendor": "Polymaker"
|
||||
},
|
||||
"OFxUwUeW": {
|
||||
"bambu_id": "GFSNL06",
|
||||
"name": "SUNLU PLA Marble",
|
||||
"type": "PLA",
|
||||
"vendor": "SUNLU"
|
||||
},
|
||||
"OFzyIxba": {
|
||||
"bambu_id": "GFS04",
|
||||
"name": "Bambu PVA",
|
||||
"type": "PVA",
|
||||
"vendor": "Bambu Lab"
|
||||
}
|
||||
},
|
||||
"generated": "2026-09-04",
|
||||
"source": "https://github.com/bambulab/BambuStudio"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Afinia",
|
||||
"version": "02.04.00.02",
|
||||
"version": "02.04.00.03",
|
||||
"force_update": "0",
|
||||
"description": "Afinia configurations",
|
||||
"machine_model_list": [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00_01",
|
||||
"filament_id": "OFLfywkp",
|
||||
"setting_id": "wAJTMxtCY7EoavRi",
|
||||
"name": "Afinia ABS+@HS",
|
||||
"from": "system",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00_01",
|
||||
"filament_id": "OFV5wEMe",
|
||||
"setting_id": "qCDnb2iBaz4hd4vX",
|
||||
"name": "Afinia ABS@HS",
|
||||
"from": "system",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFA00_01",
|
||||
"filament_id": "OF9HCdyQ",
|
||||
"setting_id": "N3sCgjdjvp6FTtw9",
|
||||
"name": "Afinia PLA@HS",
|
||||
"from": "system",
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_tpu",
|
||||
"from": "system",
|
||||
"setting_id": "zUqTgAEbqTN1EdRl",
|
||||
"filament_id": "GFU01_01",
|
||||
"filament_id": "OFDJU6R3",
|
||||
"instantiation": "true",
|
||||
"filament_vendor": [
|
||||
"Afinia"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFB00_01",
|
||||
"filament_id": "OFXi59OX",
|
||||
"setting_id": "OxIiEYjbhEvSykaQ",
|
||||
"name": "Afinia Value ABS@HS",
|
||||
"from": "system",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"filament_id": "GFA00_01",
|
||||
"filament_id": "OFgHh8ly",
|
||||
"setting_id": "BASsUdyvElEVJ9AA",
|
||||
"name": "Afinia Value PLA@HS",
|
||||
"from": "system",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Anker",
|
||||
"version": "02.04.00.01",
|
||||
"version": "02.04.00.02",
|
||||
"force_update": "0",
|
||||
"description": "Anker configurations",
|
||||
"machine_model_list": [
|
||||
@@ -161,172 +161,172 @@
|
||||
"sub_path": "filament/fdm_filament_tpu.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic ABS @base",
|
||||
"sub_path": "filament/Anker Generic ABS @base.json"
|
||||
"name": "Generic ABS @Anker base",
|
||||
"sub_path": "filament/Generic ABS @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic ASA @base",
|
||||
"sub_path": "filament/Anker Generic ASA @base.json"
|
||||
"name": "Generic ASA @Anker base",
|
||||
"sub_path": "filament/Generic ASA @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PA @base",
|
||||
"sub_path": "filament/Anker Generic PA @base.json"
|
||||
"name": "Generic PA @Anker base",
|
||||
"sub_path": "filament/Generic PA @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PA-CF @base",
|
||||
"sub_path": "filament/Anker Generic PA-CF @base.json"
|
||||
"name": "Generic PA-CF @Anker base",
|
||||
"sub_path": "filament/Generic PA-CF @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PC @base",
|
||||
"sub_path": "filament/Anker Generic PC @base.json"
|
||||
"name": "Generic PC @Anker base",
|
||||
"sub_path": "filament/Generic PC @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PETG @base",
|
||||
"sub_path": "filament/Anker Generic PETG @base.json"
|
||||
"name": "Generic PETG @Anker base",
|
||||
"sub_path": "filament/Generic PETG @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PETG-CF @base",
|
||||
"sub_path": "filament/Anker Generic PETG-CF @base.json"
|
||||
"name": "Generic PETG-CF @Anker base",
|
||||
"sub_path": "filament/Generic PETG-CF @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA @base",
|
||||
"sub_path": "filament/Anker Generic PLA @base.json"
|
||||
"name": "Generic PLA @Anker base",
|
||||
"sub_path": "filament/Generic PLA @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA Silk @base",
|
||||
"sub_path": "filament/Anker Generic PLA Silk @base.json"
|
||||
"name": "Generic PLA Silk @Anker base",
|
||||
"sub_path": "filament/Generic PLA Silk @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA+ @base",
|
||||
"sub_path": "filament/Anker Generic PLA+ @base.json"
|
||||
"name": "Generic PLA+ @Anker base",
|
||||
"sub_path": "filament/Generic PLA+ @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA-CF @base",
|
||||
"sub_path": "filament/Anker Generic PLA-CF @base.json"
|
||||
"name": "Generic PLA-CF @Anker base",
|
||||
"sub_path": "filament/Generic PLA-CF @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PVA @base",
|
||||
"sub_path": "filament/Anker Generic PVA @base.json"
|
||||
"name": "Generic PVA @Anker base",
|
||||
"sub_path": "filament/Generic PVA @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic TPU @base",
|
||||
"sub_path": "filament/Anker Generic TPU @base.json"
|
||||
"name": "Generic TPU @Anker base",
|
||||
"sub_path": "filament/Generic TPU @Anker base.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic ABS",
|
||||
"sub_path": "filament/Anker Generic ABS.json"
|
||||
"name": "Generic ABS @Anker",
|
||||
"sub_path": "filament/Generic ABS @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic ABS 0.2 nozzle",
|
||||
"sub_path": "filament/Anker Generic ABS 0.2 nozzle.json"
|
||||
"name": "Generic ABS @Anker 0.2 nozzle",
|
||||
"sub_path": "filament/Generic ABS @Anker 0.2 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic ABS 0.25 nozzle",
|
||||
"sub_path": "filament/Anker Generic ABS 0.25 nozzle.json"
|
||||
"name": "Generic ABS @Anker 0.25 nozzle",
|
||||
"sub_path": "filament/Generic ABS @Anker 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic ASA",
|
||||
"sub_path": "filament/Anker Generic ASA.json"
|
||||
"name": "Generic ASA @Anker",
|
||||
"sub_path": "filament/Generic ASA @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic ASA 0.2 nozzle",
|
||||
"sub_path": "filament/Anker Generic ASA 0.2 nozzle.json"
|
||||
"name": "Generic ASA @Anker 0.2 nozzle",
|
||||
"sub_path": "filament/Generic ASA @Anker 0.2 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic ASA 0.25 nozzle",
|
||||
"sub_path": "filament/Anker Generic ASA 0.25 nozzle.json"
|
||||
"name": "Generic ASA @Anker 0.25 nozzle",
|
||||
"sub_path": "filament/Generic ASA @Anker 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PA",
|
||||
"sub_path": "filament/Anker Generic PA.json"
|
||||
"name": "Generic PA @Anker",
|
||||
"sub_path": "filament/Generic PA @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PA 0.2 nozzle",
|
||||
"sub_path": "filament/Anker Generic PA 0.2 nozzle.json"
|
||||
"name": "Generic PA @Anker 0.2 nozzle",
|
||||
"sub_path": "filament/Generic PA @Anker 0.2 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PA 0.25 nozzle",
|
||||
"sub_path": "filament/Anker Generic PA 0.25 nozzle.json"
|
||||
"name": "Generic PA @Anker 0.25 nozzle",
|
||||
"sub_path": "filament/Generic PA @Anker 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PA-CF",
|
||||
"sub_path": "filament/Anker Generic PA-CF.json"
|
||||
"name": "Generic PA-CF @Anker",
|
||||
"sub_path": "filament/Generic PA-CF @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PC",
|
||||
"sub_path": "filament/Anker Generic PC.json"
|
||||
"name": "Generic PC @Anker",
|
||||
"sub_path": "filament/Generic PC @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PC 0.2 nozzle",
|
||||
"sub_path": "filament/Anker Generic PC 0.2 nozzle.json"
|
||||
"name": "Generic PC @Anker 0.2 nozzle",
|
||||
"sub_path": "filament/Generic PC @Anker 0.2 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PC 0.25 nozzle",
|
||||
"sub_path": "filament/Anker Generic PC 0.25 nozzle.json"
|
||||
"name": "Generic PC @Anker 0.25 nozzle",
|
||||
"sub_path": "filament/Generic PC @Anker 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PETG",
|
||||
"sub_path": "filament/Anker Generic PETG.json"
|
||||
"name": "Generic PETG @Anker",
|
||||
"sub_path": "filament/Generic PETG @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PETG 0.2 nozzle",
|
||||
"sub_path": "filament/Anker Generic PETG 0.2 nozzle.json"
|
||||
"name": "Generic PETG @Anker 0.2 nozzle",
|
||||
"sub_path": "filament/Generic PETG @Anker 0.2 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PETG 0.25 nozzle",
|
||||
"sub_path": "filament/Anker Generic PETG 0.25 nozzle.json"
|
||||
"name": "Generic PETG @Anker 0.25 nozzle",
|
||||
"sub_path": "filament/Generic PETG @Anker 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PETG-CF",
|
||||
"sub_path": "filament/Anker Generic PETG-CF.json"
|
||||
"name": "Generic PETG-CF @Anker",
|
||||
"sub_path": "filament/Generic PETG-CF @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA",
|
||||
"sub_path": "filament/Anker Generic PLA.json"
|
||||
"name": "Generic PLA @Anker",
|
||||
"sub_path": "filament/Generic PLA @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA 0.2 nozzle",
|
||||
"sub_path": "filament/Anker Generic PLA 0.2 nozzle.json"
|
||||
"name": "Generic PLA @Anker 0.2 nozzle",
|
||||
"sub_path": "filament/Generic PLA @Anker 0.2 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA 0.25 nozzle",
|
||||
"sub_path": "filament/Anker Generic PLA 0.25 nozzle.json"
|
||||
"name": "Generic PLA @Anker 0.25 nozzle",
|
||||
"sub_path": "filament/Generic PLA @Anker 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA Silk",
|
||||
"sub_path": "filament/Anker Generic PLA Silk.json"
|
||||
"name": "Generic PLA Silk @Anker",
|
||||
"sub_path": "filament/Generic PLA Silk @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA Silk 0.2 nozzle",
|
||||
"sub_path": "filament/Anker Generic PLA Silk 0.2 nozzle.json"
|
||||
"name": "Generic PLA Silk @Anker 0.2 nozzle",
|
||||
"sub_path": "filament/Generic PLA Silk @Anker 0.2 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA Silk 0.25 nozzle",
|
||||
"sub_path": "filament/Anker Generic PLA Silk 0.25 nozzle.json"
|
||||
"name": "Generic PLA Silk @Anker 0.25 nozzle",
|
||||
"sub_path": "filament/Generic PLA Silk @Anker 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA+",
|
||||
"sub_path": "filament/Anker Generic PLA+.json"
|
||||
"name": "Generic PLA+ @Anker",
|
||||
"sub_path": "filament/Generic PLA+ @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA+ 0.2 nozzle",
|
||||
"sub_path": "filament/Anker Generic PLA+ 0.2 nozzle.json"
|
||||
"name": "Generic PLA+ @Anker 0.2 nozzle",
|
||||
"sub_path": "filament/Generic PLA+ @Anker 0.2 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA+ 0.25 nozzle",
|
||||
"sub_path": "filament/Anker Generic PLA+ 0.25 nozzle.json"
|
||||
"name": "Generic PLA+ @Anker 0.25 nozzle",
|
||||
"sub_path": "filament/Generic PLA+ @Anker 0.25 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PLA-CF",
|
||||
"sub_path": "filament/Anker Generic PLA-CF.json"
|
||||
"name": "Generic PLA-CF @Anker",
|
||||
"sub_path": "filament/Generic PLA-CF @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic PVA",
|
||||
"sub_path": "filament/Anker Generic PVA.json"
|
||||
"name": "Generic PVA @Anker",
|
||||
"sub_path": "filament/Generic PVA @Anker.json"
|
||||
},
|
||||
{
|
||||
"name": "Anker Generic TPU",
|
||||
"sub_path": "filament/Anker Generic TPU.json"
|
||||
"name": "Generic TPU @Anker",
|
||||
"sub_path": "filament/Generic TPU @Anker.json"
|
||||
}
|
||||
],
|
||||
"machine_list": [
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA Silk 0.2 nozzle",
|
||||
"inherits": "Anker Generic PLA Silk @base",
|
||||
"from": "system",
|
||||
"setting_id": "A1l6NiwRrasdV556",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.2 nozzle",
|
||||
"Anker M5 All-Metal 0.2 nozzle",
|
||||
"Anker M5C 0.2 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA Silk 0.25 nozzle",
|
||||
"inherits": "Anker Generic PLA Silk @base",
|
||||
"from": "system",
|
||||
"setting_id": "yzHmKTOtA9JamlNf",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"3"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.25 nozzle",
|
||||
"Anker M5 All-Metal 0.25 nozzle",
|
||||
"Anker M5C 0.25 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA Silk",
|
||||
"inherits": "Anker Generic PLA Silk @base",
|
||||
"from": "system",
|
||||
"setting_id": "BGttYO9m2rGcnrEG",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA+ 0.2 nozzle",
|
||||
"inherits": "Anker Generic PLA+ @base",
|
||||
"from": "system",
|
||||
"setting_id": "6IcMSjyxt0szdUuY",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.2 nozzle",
|
||||
"Anker M5 All-Metal 0.2 nozzle",
|
||||
"Anker M5C 0.2 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA+ 0.25 nozzle",
|
||||
"inherits": "Anker Generic PLA+ @base",
|
||||
"from": "system",
|
||||
"setting_id": "a2Rf07ZUhpTPONN1",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"3"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.25 nozzle",
|
||||
"Anker M5 All-Metal 0.25 nozzle",
|
||||
"Anker M5C 0.25 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA+",
|
||||
"inherits": "Anker Generic PLA+ @base",
|
||||
"from": "system",
|
||||
"setting_id": "0yQN44WNvLVjQu2b",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA-CF",
|
||||
"inherits": "Anker Generic PLA-CF @base",
|
||||
"from": "system",
|
||||
"setting_id": "diNUVM7UcHLnOr9J",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA",
|
||||
"inherits": "Anker Generic PLA @base",
|
||||
"from": "system",
|
||||
"setting_id": "qfKC91VAAFZSExhm",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PVA",
|
||||
"inherits": "Anker Generic PVA @base",
|
||||
"from": "system",
|
||||
"setting_id": "GRtdOKUkQfZ5eDH4",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic TPU",
|
||||
"inherits": "Anker Generic TPU @base",
|
||||
"from": "system",
|
||||
"setting_id": "YyTaPGGiEyAzmh9A",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic ABS 0.2 nozzle",
|
||||
"inherits": "Anker Generic ABS @base",
|
||||
"name": "Generic ABS @Anker 0.2 nozzle",
|
||||
"inherits": "Generic ABS @Anker base",
|
||||
"renamed_from": "Anker Generic ABS 0.2 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "BD5ODYVM90Ig44C5",
|
||||
"setting_id": "iOCt7x95XbWYMe5q",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PETG 0.25 nozzle",
|
||||
"inherits": "Anker Generic PETG @base",
|
||||
"name": "Generic ABS @Anker 0.25 nozzle",
|
||||
"inherits": "Generic ABS @Anker base",
|
||||
"renamed_from": "Anker Generic ABS 0.25 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "UgKfPuleh1xnoJLT",
|
||||
"setting_id": "7Q2pr70SpSjK7v7Y",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"3"
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic ABS @base",
|
||||
"name": "Generic ABS @Anker base",
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"filament_id": "GFB99",
|
||||
"filament_id": "OFY9muEs",
|
||||
"instantiation": "false"
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic ASA",
|
||||
"inherits": "Anker Generic ASA @base",
|
||||
"name": "Generic ABS @Anker",
|
||||
"inherits": "Generic ABS @Anker base",
|
||||
"renamed_from": "Anker Generic ABS",
|
||||
"from": "system",
|
||||
"setting_id": "QiFoBW5WuDUJGmFZ",
|
||||
"setting_id": "x3IBYtgKBx6Mszzk",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PETG 0.2 nozzle",
|
||||
"inherits": "Anker Generic PETG @base",
|
||||
"name": "Generic ASA @Anker 0.2 nozzle",
|
||||
"inherits": "Generic ASA @Anker base",
|
||||
"renamed_from": "Anker Generic ASA 0.2 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "VItvDP6zmenWXwPO",
|
||||
"setting_id": "lTR8QLbuttyVs5UW",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic ABS 0.25 nozzle",
|
||||
"inherits": "Anker Generic ABS @base",
|
||||
"name": "Generic ASA @Anker 0.25 nozzle",
|
||||
"inherits": "Generic ASA @Anker base",
|
||||
"renamed_from": "Anker Generic ASA 0.25 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "WS5wXckNuiQqSVwO",
|
||||
"setting_id": "FU4BiMydEyo7zxq5",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"3"
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic ASA @base",
|
||||
"name": "Generic ASA @Anker base",
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"filament_id": "GFB98",
|
||||
"filament_id": "OFLPAxz3",
|
||||
"instantiation": "false"
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PETG-CF",
|
||||
"inherits": "Anker Generic PETG-CF @base",
|
||||
"name": "Generic ASA @Anker",
|
||||
"inherits": "Generic ASA @Anker base",
|
||||
"renamed_from": "Anker Generic ASA",
|
||||
"from": "system",
|
||||
"setting_id": "j8PLF6AZD0R0oVs8",
|
||||
"setting_id": "aDADuxiEKt2dVKOJ",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PA 0.2 nozzle",
|
||||
"inherits": "Anker Generic PA @base",
|
||||
"name": "Generic PA @Anker 0.2 nozzle",
|
||||
"inherits": "Generic PA @Anker base",
|
||||
"renamed_from": "Anker Generic PA 0.2 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "NZB26MSD9WbOeY2S",
|
||||
"setting_id": "tYAT7xnNFD6gY84A",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PA 0.25 nozzle",
|
||||
"inherits": "Anker Generic PA @base",
|
||||
"name": "Generic PA @Anker 0.25 nozzle",
|
||||
"inherits": "Generic PA @Anker base",
|
||||
"renamed_from": "Anker Generic PA 0.25 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "Wj7oXTGUxo8lie1B",
|
||||
"setting_id": "Zlv65wLA94PbevRG",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"3"
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PA @base",
|
||||
"name": "Generic PA @Anker base",
|
||||
"inherits": "fdm_filament_pa",
|
||||
"from": "system",
|
||||
"filament_id": "GFN99",
|
||||
"filament_id": "OFg8ndtj",
|
||||
"instantiation": "false"
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PC",
|
||||
"inherits": "Anker Generic PC @base",
|
||||
"name": "Generic PA @Anker",
|
||||
"inherits": "Generic PA @Anker base",
|
||||
"renamed_from": "Anker Generic PA",
|
||||
"from": "system",
|
||||
"setting_id": "xY25QcIsR9pWai3n",
|
||||
"setting_id": "sLWVtBxpAC53eUwo",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PA-CF @base",
|
||||
"name": "Generic PA-CF @Anker base",
|
||||
"inherits": "fdm_filament_pa",
|
||||
"from": "system",
|
||||
"filament_id": "GFN98",
|
||||
"filament_id": "OFQLcbps",
|
||||
"instantiation": "false",
|
||||
"filament_type": [
|
||||
"PA-CF"
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PA",
|
||||
"inherits": "Anker Generic PA @base",
|
||||
"name": "Generic PA-CF @Anker",
|
||||
"inherits": "Generic PA-CF @Anker base",
|
||||
"renamed_from": "Anker Generic PA-CF",
|
||||
"from": "system",
|
||||
"setting_id": "QbIiX554Yee6vb32",
|
||||
"setting_id": "K4LcpR0zBp5klSpb",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PC 0.2 nozzle",
|
||||
"inherits": "Anker Generic PC @base",
|
||||
"name": "Generic PC @Anker 0.2 nozzle",
|
||||
"inherits": "Generic PC @Anker base",
|
||||
"renamed_from": "Anker Generic PC 0.2 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "GhIOAidtgDkzh9Aj",
|
||||
"setting_id": "2sSOgctcnVh9bGbQ",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PC 0.25 nozzle",
|
||||
"inherits": "Anker Generic PC @base",
|
||||
"name": "Generic PC @Anker 0.25 nozzle",
|
||||
"inherits": "Generic PC @Anker base",
|
||||
"renamed_from": "Anker Generic PC 0.25 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "TQm9EPdenyGJMvgP",
|
||||
"setting_id": "h7IRuq5uekjNw4vg",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"3"
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PC @base",
|
||||
"name": "Generic PC @Anker base",
|
||||
"inherits": "fdm_filament_pc",
|
||||
"from": "system",
|
||||
"filament_id": "GFC99",
|
||||
"filament_id": "OFLakOUI",
|
||||
"instantiation": "false"
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PA-CF",
|
||||
"inherits": "Anker Generic PA-CF @base",
|
||||
"name": "Generic PC @Anker",
|
||||
"inherits": "Generic PC @Anker base",
|
||||
"renamed_from": "Anker Generic PC",
|
||||
"from": "system",
|
||||
"setting_id": "qdsEps11ugFHJkn7",
|
||||
"setting_id": "ffufXVvW95sunH1B",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA 0.2 nozzle",
|
||||
"inherits": "Anker Generic PLA @base",
|
||||
"name": "Generic PETG @Anker 0.2 nozzle",
|
||||
"inherits": "Generic PETG @Anker base",
|
||||
"renamed_from": "Anker Generic PETG 0.2 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "j6QmCITPJoP7bWHq",
|
||||
"setting_id": "67ZHuiXPyCP6Tdtr",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic ASA 0.25 nozzle",
|
||||
"inherits": "Anker Generic ASA @base",
|
||||
"name": "Generic PETG @Anker 0.25 nozzle",
|
||||
"inherits": "Generic PETG @Anker base",
|
||||
"renamed_from": "Anker Generic PETG 0.25 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "ErUUDTQ7h1wNHAKT",
|
||||
"setting_id": "aLuRALDt0Otbd2So",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"3"
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PETG @base",
|
||||
"name": "Generic PETG @Anker base",
|
||||
"inherits": "fdm_filament_pet",
|
||||
"from": "system",
|
||||
"filament_id": "GFG99",
|
||||
"filament_id": "OFYPdQJh",
|
||||
"instantiation": "false",
|
||||
"filament_type": [
|
||||
"PETG"
|
||||
17
resources/profiles/Anker/filament/Generic PETG @Anker.json
Normal file
17
resources/profiles/Anker/filament/Generic PETG @Anker.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PETG @Anker",
|
||||
"inherits": "Generic PETG @Anker base",
|
||||
"renamed_from": "Anker Generic PETG",
|
||||
"from": "system",
|
||||
"setting_id": "hvV0rmnzRHJk9sMz",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PETG-CF @base",
|
||||
"name": "Generic PETG-CF @Anker base",
|
||||
"inherits": "fdm_filament_pet",
|
||||
"from": "system",
|
||||
"filament_id": "GFG98",
|
||||
"filament_id": "OFoYSJKi",
|
||||
"instantiation": "false",
|
||||
"filament_type": [
|
||||
"PETG-CF"
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PETG-CF @Anker",
|
||||
"inherits": "Generic PETG-CF @Anker base",
|
||||
"renamed_from": "Anker Generic PETG-CF",
|
||||
"from": "system",
|
||||
"setting_id": "vCAuQeQLoXUk28ph",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic ASA 0.2 nozzle",
|
||||
"inherits": "Anker Generic ASA @base",
|
||||
"name": "Generic PLA @Anker 0.2 nozzle",
|
||||
"inherits": "Generic PLA @Anker base",
|
||||
"renamed_from": "Anker Generic PLA 0.2 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "G7pzEyyhPFDnae3R",
|
||||
"setting_id": "rCvmCzPgi4KA6nmI",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA 0.25 nozzle",
|
||||
"inherits": "Anker Generic PLA @base",
|
||||
"name": "Generic PLA @Anker 0.25 nozzle",
|
||||
"inherits": "Generic PLA @Anker base",
|
||||
"renamed_from": "Anker Generic PLA 0.25 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "uKfcnPWdXxAGB5Ls",
|
||||
"setting_id": "C0hNEbEueKrcYojS",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"3"
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA @base",
|
||||
"name": "Generic PLA @Anker base",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"filament_id": "GFL99",
|
||||
"filament_id": "OFDSrzZ8",
|
||||
"instantiation": "false"
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PETG",
|
||||
"inherits": "Anker Generic PETG @base",
|
||||
"name": "Generic PLA @Anker",
|
||||
"inherits": "Generic PLA @Anker base",
|
||||
"renamed_from": "Anker Generic PLA",
|
||||
"from": "system",
|
||||
"setting_id": "FMnK9qOMiqDcGqhd",
|
||||
"setting_id": "GfVhcxRmt6mHSemI",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PLA Silk @Anker 0.2 nozzle",
|
||||
"inherits": "Generic PLA Silk @Anker base",
|
||||
"renamed_from": "Anker Generic PLA Silk 0.2 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "NWGiPWYmLVktDMJt",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.2 nozzle",
|
||||
"Anker M5 All-Metal 0.2 nozzle",
|
||||
"Anker M5C 0.2 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PLA Silk @Anker 0.25 nozzle",
|
||||
"inherits": "Generic PLA Silk @Anker base",
|
||||
"renamed_from": "Anker Generic PLA Silk 0.25 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "4thKBCnYgDtnAtF5",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"3"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.25 nozzle",
|
||||
"Anker M5 All-Metal 0.25 nozzle",
|
||||
"Anker M5C 0.25 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA Silk @base",
|
||||
"name": "Generic PLA Silk @Anker base",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"filament_id": "GFL96",
|
||||
"filament_id": "OFesA6rF",
|
||||
"instantiation": "false",
|
||||
"filament_cost": [
|
||||
"20"
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PLA Silk @Anker",
|
||||
"inherits": "Generic PLA Silk @Anker base",
|
||||
"renamed_from": "Anker Generic PLA Silk",
|
||||
"from": "system",
|
||||
"setting_id": "URRIeNXIiIPjxbKL",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PLA+ @Anker 0.2 nozzle",
|
||||
"inherits": "Generic PLA+ @Anker base",
|
||||
"renamed_from": "Anker Generic PLA+ 0.2 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "5m3xLxdReqLlE2Jp",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"2"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.2 nozzle",
|
||||
"Anker M5 All-Metal 0.2 nozzle",
|
||||
"Anker M5C 0.2 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PLA+ @Anker 0.25 nozzle",
|
||||
"inherits": "Generic PLA+ @Anker base",
|
||||
"renamed_from": "Anker Generic PLA+ 0.25 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "wwkWVDsg6SoeCS0F",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"3"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.25 nozzle",
|
||||
"Anker M5 All-Metal 0.25 nozzle",
|
||||
"Anker M5C 0.25 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA+ @base",
|
||||
"name": "Generic PLA+ @Anker base",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"filament_id": "GFL95",
|
||||
"filament_id": "OFEWYR89",
|
||||
"instantiation": "false",
|
||||
"filament_cost": [
|
||||
"25"
|
||||
17
resources/profiles/Anker/filament/Generic PLA+ @Anker.json
Normal file
17
resources/profiles/Anker/filament/Generic PLA+ @Anker.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PLA+ @Anker",
|
||||
"inherits": "Generic PLA+ @Anker base",
|
||||
"renamed_from": "Anker Generic PLA+",
|
||||
"from": "system",
|
||||
"setting_id": "MDb4CH02FxbgPNjS",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PLA-CF @base",
|
||||
"name": "Generic PLA-CF @Anker base",
|
||||
"inherits": "fdm_filament_pla",
|
||||
"from": "system",
|
||||
"filament_id": "GFL98",
|
||||
"filament_id": "OFWbdGsC",
|
||||
"instantiation": "false",
|
||||
"filament_type": [
|
||||
"PLA-CF"
|
||||
17
resources/profiles/Anker/filament/Generic PLA-CF @Anker.json
Normal file
17
resources/profiles/Anker/filament/Generic PLA-CF @Anker.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic PLA-CF @Anker",
|
||||
"inherits": "Generic PLA-CF @Anker base",
|
||||
"renamed_from": "Anker Generic PLA-CF",
|
||||
"from": "system",
|
||||
"setting_id": "5AdjHUxRi8LCU4E9",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic PVA @base",
|
||||
"name": "Generic PVA @Anker base",
|
||||
"inherits": "fdm_filament_pva",
|
||||
"from": "system",
|
||||
"filament_id": "GFS99",
|
||||
"filament_id": "OFDvXujf",
|
||||
"instantiation": "false"
|
||||
}
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic ABS",
|
||||
"inherits": "Anker Generic ABS @base",
|
||||
"name": "Generic PVA @Anker",
|
||||
"inherits": "Generic PVA @Anker base",
|
||||
"renamed_from": "Anker Generic PVA",
|
||||
"from": "system",
|
||||
"setting_id": "axEspGzFJnrnidm4",
|
||||
"setting_id": "HXERDaP3AgzWtmiu",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anker Generic TPU @base",
|
||||
"name": "Generic TPU @Anker base",
|
||||
"inherits": "fdm_filament_tpu",
|
||||
"from": "system",
|
||||
"filament_id": "GFU99",
|
||||
"filament_id": "OFgbpcy9",
|
||||
"instantiation": "false",
|
||||
"filament_retraction_speed": "90",
|
||||
"filament_deretraction_speed": "50",
|
||||
17
resources/profiles/Anker/filament/Generic TPU @Anker.json
Normal file
17
resources/profiles/Anker/filament/Generic TPU @Anker.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Generic TPU @Anker",
|
||||
"inherits": "Generic TPU @Anker base",
|
||||
"renamed_from": "Anker Generic TPU",
|
||||
"from": "system",
|
||||
"setting_id": "5YigkBBSP2RM1MbK",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": [
|
||||
"Anker M5 0.4 nozzle",
|
||||
"Anker M5 0.6 nozzle",
|
||||
"Anker M5 All-Metal 0.4 nozzle",
|
||||
"Anker M5 All-Metal 0.6 nozzle",
|
||||
"Anker M5C 0.4 nozzle",
|
||||
"Anker M5C 0.6 nozzle"
|
||||
]
|
||||
}
|
||||
@@ -16,7 +16,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.10mm Standard 0.2mm nozzle @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.10mm Standard 0.25mm nozzle @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.20mm Standard @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.30mm Standard 0.6 nozzle @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.10mm Standard 0.2mm nozzle @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.10mm Standard 0.25mm nozzle @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.20mm Standard @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.30mm Standard 0.6 nozzle @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
"family": "Anker",
|
||||
"machine_tech": "FFF",
|
||||
"model_id": "V8111v2",
|
||||
"default_materials": "Anker Generic PLA;Anker Generic PLA+;Anker Generic PLA Silk;Anker Generic TPU;Anker Generic PETG"
|
||||
"default_materials": "Generic PLA @Anker;Generic PLA+ @Anker;Generic PLA Silk @Anker;Generic TPU @Anker;Generic PETG @Anker"
|
||||
}
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
"family": "Anker",
|
||||
"machine_tech": "FFF",
|
||||
"model_id": "V8111",
|
||||
"default_materials": "Anker Generic PLA;Anker Generic PLA+;Anker Generic PLA Silk;Anker Generic TPU;Anker Generic PETG"
|
||||
"default_materials": "Generic PLA @Anker;Generic PLA+ @Anker;Generic PLA Silk @Anker;Generic TPU @Anker;Generic PETG @Anker"
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.10mm Standard 0.2mm nozzle @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.10mm Standard 0.25mm nozzle @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.20mm Standard @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"auxiliary_fan": "0",
|
||||
"bed_exclude_area": [],
|
||||
"default_filament_profile": [
|
||||
"Anker Generic PLA+"
|
||||
"Generic PLA+ @Anker"
|
||||
],
|
||||
"default_print_profile": "0.30mm Standard 0.6 nozzle @Anker",
|
||||
"extruder_clearance_height_to_lid": "250",
|
||||
|
||||
@@ -7,5 +7,5 @@
|
||||
"family": "Anker",
|
||||
"machine_tech": "FFF",
|
||||
"model_id": "V81101C3",
|
||||
"default_materials": "Anker Generic PLA;Anker Generic PLA+;Anker Generic PLA Silk;Anker Generic TPU;Anker Generic PETG"
|
||||
"default_materials": "Generic PLA @Anker;Generic PLA+ @Anker;Generic PLA Silk @Anker;Generic TPU @Anker;Generic PETG @Anker"
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "RDI26qeSRSTe0PDg",
|
||||
"filament_id": "GFB99",
|
||||
"filament_id": "OF223rZv",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ABS @Anycubic Kobra 3 Max 0.4 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "Moc1cylP6mmSQjlb",
|
||||
"filament_id": "GFB99",
|
||||
"filament_id": "OF223rZv",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ABS @Anycubic Kobra 3 Max 0.6 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "2xgfnUKyOUQwYWPa",
|
||||
"filament_id": "GFB99",
|
||||
"filament_id": "OF223rZv",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ABS @Anycubic Kobra 3 Max 0.8 nozzle"
|
||||
|
||||
@@ -4,11 +4,14 @@
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "NOiAgxA0BbvLhR1v",
|
||||
"filament_id": "GFB99",
|
||||
"filament_id": "OF223rZv",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ABS @Anycubic Kobra S1 0.4 nozzle"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Anycubic"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.95"
|
||||
],
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "MDWaiSjl89E6Edsn",
|
||||
"filament_id": "GFABS",
|
||||
"filament_id": "OF223rZv",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ABS @Anycubic Kobra S1 Max 0.25 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "wZjVYc7dBDSKRusJ",
|
||||
"filament_id": "GFABS",
|
||||
"filament_id": "OF223rZv",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ABS @Anycubic Kobra S1 Max 0.4 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "AbB6JtoPRsNgmxyy",
|
||||
"filament_id": "GFABS",
|
||||
"filament_id": "OF223rZv",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ABS @Anycubic Kobra S1 Max 0.6 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "exX565xnrLPkYkvu",
|
||||
"filament_id": "GFABS",
|
||||
"filament_id": "OF223rZv",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ABS @Anycubic Kobra S1 Max 0.8 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_abs",
|
||||
"from": "system",
|
||||
"setting_id": "KeEk3yQZrKmJY9Q0",
|
||||
"filament_id": "GFABS",
|
||||
"filament_id": "OF223rZv",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ABS @Anycubic Kobra X 0.4 nozzle"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "Anycubic ASA @Anycubic Kobra 3 0.4 nozzle",
|
||||
"inherits": "Anycubic Generic ASA",
|
||||
"inherits": "Generic ASA @Anycubic",
|
||||
"from": "system",
|
||||
"setting_id": "U66DGcpZeZ24VfPe",
|
||||
"filament_id": "GFA99",
|
||||
"filament_id": "OF0yFLkY",
|
||||
"instantiation": "true",
|
||||
"filament_vendor": [
|
||||
"Anycubic"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"setting_id": "06j8OTuYw3Sh9BxL",
|
||||
"filament_id": "GFA99",
|
||||
"filament_id": "OF0yFLkY",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ASA @Anycubic Kobra 3 Max 0.6 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"setting_id": "s2XJm0JghCSUDzhh",
|
||||
"filament_id": "GFA99",
|
||||
"filament_id": "OF0yFLkY",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ASA @Anycubic Kobra 3 Max 0.8 nozzle"
|
||||
|
||||
@@ -4,11 +4,14 @@
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"setting_id": "rf792xZNR7tRGKNg",
|
||||
"filament_id": "GFA99",
|
||||
"filament_id": "OF0yFLkY",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ASA @Anycubic Kobra S1 0.4 nozzle"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Anycubic"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.98"
|
||||
],
|
||||
|
||||
@@ -4,11 +4,14 @@
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"setting_id": "wqK6AVf1mNkIOmnt",
|
||||
"filament_id": "GFASA",
|
||||
"filament_id": "OF0yFLkY",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ASA @Anycubic Kobra S1 Max 0.25 nozzle"
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Anycubic"
|
||||
],
|
||||
"filament_type": [
|
||||
"ASA"
|
||||
],
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"setting_id": "aMgpooFosBBvlKKR",
|
||||
"filament_id": "GFASA",
|
||||
"filament_id": "OF0yFLkY",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ASA @Anycubic Kobra S1 Max 0.4 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"setting_id": "Isk7NkdH7GxsEZkS",
|
||||
"filament_id": "GFASA",
|
||||
"filament_id": "OF0yFLkY",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ASA @Anycubic Kobra S1 Max 0.6 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"setting_id": "Ew0Lg6u3e5Xj19Bz",
|
||||
"filament_id": "GFASA",
|
||||
"filament_id": "OF0yFLkY",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ASA @Anycubic Kobra S1 Max 0.8 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_asa",
|
||||
"from": "system",
|
||||
"setting_id": "PEg6aLXcyUc70p9F",
|
||||
"filament_id": "GFASA",
|
||||
"filament_id": "OF0yFLkY",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic ASA @Anycubic Kobra X 0.4 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_pa",
|
||||
"from": "system",
|
||||
"setting_id": "hcL5OHthGzApICTk",
|
||||
"filament_id": "GFPA",
|
||||
"filament_id": "OFzS7zt4",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic PA @Anycubic Kobra S1 Max 0.4 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_pa",
|
||||
"from": "system",
|
||||
"setting_id": "OJbFCKoG5DtVGT9J",
|
||||
"filament_id": "GFPA",
|
||||
"filament_id": "OFzS7zt4",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic PA @Anycubic Kobra S1 Max 0.6 nozzle"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"inherits": "fdm_filament_pa",
|
||||
"from": "system",
|
||||
"setting_id": "6mMIVw8iheDn1OuV",
|
||||
"filament_id": "GFPA",
|
||||
"filament_id": "OFzS7zt4",
|
||||
"instantiation": "true",
|
||||
"filament_settings_id": [
|
||||
"Anycubic PA @Anycubic Kobra S1 Max 0.8 nozzle"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user